{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/xiaoming/miniconda3/envs/datasci/lib/python3.9/site-packages/xgboost/compat.py:36: FutureWarning: pandas.Int64Index is deprecated and will be removed from pandas in a future version. Use pandas.Index with the appropriate dtype instead.\n",
      "  from pandas import MultiIndex, Int64Index\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import gc\n",
    "import re\n",
    "import pandas as pd\n",
    "import catboost as cb\n",
    "import numpy as np\n",
    "from sklearn.metrics import roc_auc_score, precision_recall_curve, roc_curve, average_precision_score\n",
    "from sklearn.model_selection import KFold\n",
    "# from lightgbm import LGBMClassifier\n",
    "from xgboost import XGBClassifier\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import gc\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "from dateutil.relativedelta import relativedelta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.0.6'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cb.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.5.0'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import xgboost;xgboost.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.1.1'"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Mine\n",
    "\n",
    "import sklearn\n",
    "sklearn.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 设置与读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "# 显示单元格的所有输出\n",
    "\n",
    "from IPython.core.interactiveshell import InteractiveShell \n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 设置与读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data = pd.read_csv('../raw_data/train_public.csv')\n",
    "submit_example = pd.read_csv('../raw_data/submit_example.csv')\n",
    "test_public = pd.read_csv('../raw_data/test_public.csv')\n",
    "train_inte = pd.read_csv('../raw_data/train_internet.csv')\n",
    "\n",
    "# pd.set_option('max_columns', None) # Pattern matched multiple keys\n",
    "# pd.set_option('max_rows', 200)\n",
    "# pd.set_option('float_format', lambda x: '%.3f' % x)\n",
    "\n",
    "pd.options.display.max_columns = None\n",
    "pd.options.display.max_rows = 200\n",
    "pd.options.display.float_format = lambda x: '%.3f' % x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 750000 entries, 0 to 749999\n",
      "Data columns (total 42 columns):\n",
      " #   Column                    Non-Null Count   Dtype  \n",
      "---  ------                    --------------   -----  \n",
      " 0   loan_id                   750000 non-null  int64  \n",
      " 1   user_id                   750000 non-null  int64  \n",
      " 2   total_loan                750000 non-null  float64\n",
      " 3   year_of_loan              750000 non-null  int64  \n",
      " 4   interest                  750000 non-null  float64\n",
      " 5   monthly_payment           750000 non-null  float64\n",
      " 6   class                     750000 non-null  object \n",
      " 7   sub_class                 750000 non-null  object \n",
      " 8   work_type                 750000 non-null  object \n",
      " 9   employer_type             750000 non-null  object \n",
      " 10  industry                  750000 non-null  object \n",
      " 11  work_year                 706153 non-null  object \n",
      " 12  house_exist               750000 non-null  int64  \n",
      " 13  house_loan_status         750000 non-null  int64  \n",
      " 14  censor_status             750000 non-null  int64  \n",
      " 15  marriage                  750000 non-null  int64  \n",
      " 16  offsprings                750000 non-null  int64  \n",
      " 17  issue_date                750000 non-null  object \n",
      " 18  use                       750000 non-null  int64  \n",
      " 19  post_code                 749999 non-null  float64\n",
      " 20  region                    750000 non-null  int64  \n",
      " 21  debt_loan_ratio           749770 non-null  float64\n",
      " 22  del_in_18month            750000 non-null  float64\n",
      " 23  scoring_low               750000 non-null  float64\n",
      " 24  scoring_high              750000 non-null  float64\n",
      " 25  pub_dero_bankrup          749625 non-null  float64\n",
      " 26  early_return              750000 non-null  int64  \n",
      " 27  early_return_amount       750000 non-null  int64  \n",
      " 28  early_return_amount_3mon  750000 non-null  float64\n",
      " 29  recircle_b                750000 non-null  float64\n",
      " 30  recircle_u                749511 non-null  float64\n",
      " 31  initial_list_status       750000 non-null  int64  \n",
      " 32  earlies_credit_mon        750000 non-null  object \n",
      " 33  title                     749999 non-null  float64\n",
      " 34  policy_code               750000 non-null  float64\n",
      " 35  f0                        712202 non-null  float64\n",
      " 36  f1                        684589 non-null  float64\n",
      " 37  f2                        712202 non-null  float64\n",
      " 38  f3                        712201 non-null  float64\n",
      " 39  f4                        712202 non-null  float64\n",
      " 40  f5                        712202 non-null  float64\n",
      " 41  is_default                750000 non-null  int64  \n",
      "dtypes: float64(20), int64(14), object(8)\n",
      "memory usage: 240.3+ MB\n"
     ]
    }
   ],
   "source": [
    "train_inte.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 10000 entries, 0 to 9999\n",
      "Data columns (total 39 columns):\n",
      " #   Column                    Non-Null Count  Dtype  \n",
      "---  ------                    --------------  -----  \n",
      " 0   loan_id                   10000 non-null  int64  \n",
      " 1   user_id                   10000 non-null  int64  \n",
      " 2   total_loan                10000 non-null  float64\n",
      " 3   year_of_loan              10000 non-null  int64  \n",
      " 4   interest                  10000 non-null  float64\n",
      " 5   monthly_payment           10000 non-null  float64\n",
      " 6   class                     10000 non-null  object \n",
      " 7   employer_type             10000 non-null  object \n",
      " 8   industry                  10000 non-null  object \n",
      " 9   work_year                 9378 non-null   object \n",
      " 10  house_exist               10000 non-null  int64  \n",
      " 11  censor_status             10000 non-null  int64  \n",
      " 12  issue_date                10000 non-null  object \n",
      " 13  use                       10000 non-null  int64  \n",
      " 14  post_code                 10000 non-null  int64  \n",
      " 15  region                    10000 non-null  int64  \n",
      " 16  debt_loan_ratio           10000 non-null  float64\n",
      " 17  del_in_18month            10000 non-null  int64  \n",
      " 18  scoring_low               10000 non-null  float64\n",
      " 19  scoring_high              10000 non-null  float64\n",
      " 20  known_outstanding_loan    10000 non-null  int64  \n",
      " 21  known_dero                10000 non-null  int64  \n",
      " 22  pub_dero_bankrup          9993 non-null   float64\n",
      " 23  recircle_b                10000 non-null  float64\n",
      " 24  recircle_u                10000 non-null  float64\n",
      " 25  initial_list_status       10000 non-null  int64  \n",
      " 26  app_type                  10000 non-null  int64  \n",
      " 27  earlies_credit_mon        10000 non-null  object \n",
      " 28  title                     10000 non-null  int64  \n",
      " 29  policy_code               10000 non-null  int64  \n",
      " 30  f0                        9502 non-null   float64\n",
      " 31  f1                        9142 non-null   float64\n",
      " 32  f2                        9502 non-null   float64\n",
      " 33  f3                        9502 non-null   float64\n",
      " 34  f4                        9502 non-null   float64\n",
      " 35  early_return              10000 non-null  int64  \n",
      " 36  early_return_amount       10000 non-null  int64  \n",
      " 37  early_return_amount_3mon  10000 non-null  float64\n",
      " 38  isDefault                 10000 non-null  int64  \n",
      "dtypes: float64(15), int64(18), object(6)\n",
      "memory usage: 3.0+ MB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 探索性分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>earlies_credit_mon</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1-Dec</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Apr-90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Oct-91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1-Jun</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2-May</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9995</th>\n",
       "      <td>6-Feb</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9996</th>\n",
       "      <td>May-97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9997</th>\n",
       "      <td>Feb-87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9998</th>\n",
       "      <td>Oct-92</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9999</th>\n",
       "      <td>9-Feb</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10000 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     earlies_credit_mon\n",
       "0                 1-Dec\n",
       "1                Apr-90\n",
       "2                Oct-91\n",
       "3                 1-Jun\n",
       "4                 2-May\n",
       "...                 ...\n",
       "9995              6-Feb\n",
       "9996             May-97\n",
       "9997             Feb-87\n",
       "9998             Oct-92\n",
       "9999              9-Feb\n",
       "\n",
       "[10000 rows x 1 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data[['earlies_credit_mon']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>earlies_credit_mon</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3-Mar</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Dec-99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Apr-99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Jul-00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>7-May</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4995</th>\n",
       "      <td>5-Jul</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4996</th>\n",
       "      <td>12-Apr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4997</th>\n",
       "      <td>Oct-86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4998</th>\n",
       "      <td>Mar-99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4999</th>\n",
       "      <td>5-Jul</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5000 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     earlies_credit_mon\n",
       "0                 3-Mar\n",
       "1                Dec-99\n",
       "2                Apr-99\n",
       "3                Jul-00\n",
       "4                 7-May\n",
       "...                 ...\n",
       "4995              5-Jul\n",
       "4996             12-Apr\n",
       "4997             Oct-86\n",
       "4998             Mar-99\n",
       "4999              5-Jul\n",
       "\n",
       "[5000 rows x 1 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_public[['earlies_credit_mon']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       " 10    246226\n",
       " 2      67987\n",
       " 0      60198\n",
       " 3      60128\n",
       " 1      49204\n",
       " 5      47027\n",
       " 4      45037\n",
       "-1      43847\n",
       " 6      34910\n",
       " 8      33857\n",
       " 7      33200\n",
       " 9      28379\n",
       "Name: work_year, dtype: int64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_inte['work_year'].value_counts()\n",
    "\n",
    "# train_inte['work_year'].nunique(dropna=False)\n",
    "\n",
    "# train_inte[train_inte['work_year'].isnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0         1\n",
       "1         0\n",
       "2         0\n",
       "3         0\n",
       "4         0\n",
       "         ..\n",
       "749995    0\n",
       "749996    0\n",
       "749997    0\n",
       "749998    0\n",
       "749999    0\n",
       "Name: is_default, Length: 750000, dtype: int64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_inte['is_default']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取缺失值情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def missing_values_table(df):\n",
    "    mis_val = df.isnull().sum()\n",
    "    mis_val_percent = 100 * df.isnull().sum() / len(df)\n",
    "    mis_val_table = pd.concat([mis_val, mis_val_percent], axis=1)\n",
    "    mis_val_table_ren_columns = mis_val_table.rename(\n",
    "        columns={0: 'Missing Values', 1: '% of Total Values'})\n",
    "    mis_val_table_ren_columns = mis_val_table_ren_columns[          # 找出含缺失值的列并按缺失值的多少由大到小排序\n",
    "        mis_val_table_ren_columns.iloc[:, 1] != 0].sort_values(\n",
    "        '% of Total Values', ascending=False).round(1)\n",
    "    print(\"Your selected dataframe has \" + str(df.shape[1]) + \" columns.\\n\"\n",
    "                                                              \"There are \" + str(mis_val_table_ren_columns.shape[0]) +\n",
    "          \" columns that have missing values.\")\n",
    "    return mis_val_table_ren_columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 44 columns.\n",
      "There are 6 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>f1</th>\n",
       "      <td>858</td>\n",
       "      <td>8.600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f0</th>\n",
       "      <td>498</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f2</th>\n",
       "      <td>498</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f3</th>\n",
       "      <td>498</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f4</th>\n",
       "      <td>498</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <td>7</td>\n",
       "      <td>0.100</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Missing Values  % of Total Values\n",
       "f1                           858              8.600\n",
       "f0                           498              5.000\n",
       "f2                           498              5.000\n",
       "f3                           498              5.000\n",
       "f4                           498              5.000\n",
       "pub_dero_bankrup               7              0.100"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "missing_values_table(train_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f1', ylabel='Density'>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f0', ylabel='Density'>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f2', ylabel='Density'>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f3', ylabel='Density'>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f4', ylabel='Density'>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看数据分布\n",
    "\n",
    "import seaborn as sns\n",
    "from seaborn import kdeplot       \n",
    "\n",
    "plt.subplot(3,2,1)\n",
    "kdeplot(data=train_data,x=\"f1\")\n",
    "plt.subplot(3,2,2)\n",
    "kdeplot(data=train_data,x=\"f0\")\n",
    "plt.subplot(3,2,3)\n",
    "kdeplot(data=train_data,x=\"f2\")\n",
    "plt.subplot(3,2,4)\n",
    "kdeplot(data=train_data,x=\"f3\")\n",
    "plt.subplot(3,2,5)\n",
    "kdeplot(data=train_data,x=\"f4\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "0   0.000\n",
       "Name: f1, dtype: float64"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "0.0014220083132793699"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data[\"f1\"].median()\n",
    "train_data[\"f1\"].mode()\n",
    "train_data[\"f1\"].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 43 columns.\n",
      "There are 6 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>f1</th>\n",
       "      <td>454</td>\n",
       "      <td>9.100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f0</th>\n",
       "      <td>259</td>\n",
       "      <td>5.200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f2</th>\n",
       "      <td>259</td>\n",
       "      <td>5.200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f3</th>\n",
       "      <td>259</td>\n",
       "      <td>5.200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f4</th>\n",
       "      <td>259</td>\n",
       "      <td>5.200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <td>4</td>\n",
       "      <td>0.100</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Missing Values  % of Total Values\n",
       "f1                           454              9.100\n",
       "f0                           259              5.200\n",
       "f2                           259              5.200\n",
       "f3                           259              5.200\n",
       "f4                           259              5.200\n",
       "pub_dero_bankrup               4              0.100"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 47 columns.\n",
      "There are 11 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>f1</th>\n",
       "      <td>65411</td>\n",
       "      <td>8.700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f3</th>\n",
       "      <td>37799</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f0</th>\n",
       "      <td>37798</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f2</th>\n",
       "      <td>37798</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f4</th>\n",
       "      <td>37798</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>f5</th>\n",
       "      <td>37798</td>\n",
       "      <td>5.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>recircle_u</th>\n",
       "      <td>489</td>\n",
       "      <td>0.100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <td>375</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>debt_loan_ratio</th>\n",
       "      <td>230</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>post_code</th>\n",
       "      <td>1</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>title</th>\n",
       "      <td>1</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Missing Values  % of Total Values\n",
       "f1                         65411              8.700\n",
       "f3                         37799              5.000\n",
       "f0                         37798              5.000\n",
       "f2                         37798              5.000\n",
       "f4                         37798              5.000\n",
       "f5                         37798              5.000\n",
       "recircle_u                   489              0.100\n",
       "pub_dero_bankrup             375              0.000\n",
       "debt_loan_ratio              230              0.000\n",
       "post_code                      1              0.000\n",
       "title                          1              0.000"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "missing_values_table(test_public)\n",
    "missing_values_table(train_inte)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f1', ylabel='Density'>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f0', ylabel='Density'>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f2', ylabel='Density'>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f3', ylabel='Density'>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f4', ylabel='Density'>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看数据分布\n",
    "\n",
    "import seaborn as sns\n",
    "from seaborn import kdeplot       \n",
    "\n",
    "plt.subplot(3,2,1)\n",
    "kdeplot(data=test_public,x=\"f1\")\n",
    "plt.subplot(3,2,2)\n",
    "kdeplot(data=test_public,x=\"f0\")\n",
    "plt.subplot(3,2,3)\n",
    "kdeplot(data=test_public,x=\"f2\")\n",
    "plt.subplot(3,2,4)\n",
    "kdeplot(data=test_public,x=\"f3\")\n",
    "plt.subplot(3,2,5)\n",
    "kdeplot(data=test_public,x=\"f4\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f1', ylabel='Density'>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f0', ylabel='Density'>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f2', ylabel='Density'>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f3', ylabel='Density'>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f4', ylabel='Density'>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='f5', ylabel='Density'>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看数据分布\n",
    "\n",
    "import seaborn as sns\n",
    "from seaborn import kdeplot       \n",
    "\n",
    "plt.subplot(3,2,1)\n",
    "kdeplot(data=train_inte,x=\"f1\")\n",
    "plt.subplot(3,2,2)\n",
    "kdeplot(data=train_inte,x=\"f0\")\n",
    "plt.subplot(3,2,3)\n",
    "kdeplot(data=train_inte,x=\"f2\")\n",
    "plt.subplot(3,2,4)\n",
    "kdeplot(data=train_inte,x=\"f3\")\n",
    "plt.subplot(3,2,5)\n",
    "kdeplot(data=train_inte,x=\"f4\")\n",
    "plt.subplot(3,2,6)\n",
    "kdeplot(data=train_inte,x=\"f5\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model(data_, test_, y_, folds_,col_to_excl_from_feats=[]):\n",
    "    '''\n",
    "    用catboost模型进行训练\n",
    "    '''\n",
    "    oof_preds = np.zeros(data_.shape[0])\n",
    "    sub_preds = np.zeros(test_.shape[0])\n",
    "    feature_importance_df = pd.DataFrame()\n",
    "    feats = [f for f in data_.columns if f not in ['loan_id', 'user_id', 'isDefault'] + col_to_excl_from_feats]\n",
    "    # for n_fold, (trn_idx, val_idx) in enumerate(folds_.split(data_)):\n",
    "    for n_fold, (trn_idx, val_idx) in enumerate(folds_.split(data_,y)):\n",
    "        # 划分训练集和验证集\n",
    "        trn_x, trn_y = data_[feats].iloc[trn_idx], y_.iloc[trn_idx] \n",
    "        val_x, val_y = data_[feats].iloc[val_idx], y_.iloc[val_idx]\n",
    "\n",
    "        cat_model = cb.CatBoostClassifier(iterations=3000, \n",
    "                              depth=7, \n",
    "                              learning_rate=0.001, \n",
    "                              loss_function='Logloss',\n",
    "                              eval_metric='AUC',\n",
    "                              logging_level='Verbose', \n",
    "                              metric_period=50)\n",
    "\n",
    "        cat_model.fit(trn_x, trn_y, eval_set=[(trn_x, trn_y), (val_x, val_y)])\n",
    "\n",
    "        oof_preds[val_idx] = cat_model.predict_proba(val_x)[:, 1] # 更新验证集预测结果\n",
    "        sub_preds += cat_model.predict_proba(test_[feats])[:, 1] / folds_.n_splits # 更新测试集预测结果\n",
    "        \n",
    "        # 更新特征重要性表\n",
    "        fold_importance_df = pd.DataFrame()\n",
    "        fold_importance_df[\"feature\"] = feats\n",
    "        fold_importance_df[\"importance\"] = cat_model.feature_importances_\n",
    "        fold_importance_df[\"fold\"] = n_fold + 1\n",
    "        feature_importance_df = pd.concat([feature_importance_df, fold_importance_df], axis=0)\n",
    "        \n",
    "        print('Fold %2d AUC : %.6f' % (n_fold + 1, roc_auc_score(val_y, oof_preds[val_idx])))\n",
    "        del cat_model, trn_x, trn_y, val_x, val_y\n",
    "        gc.collect()\n",
    "        \n",
    "    print('Full AUC score %.6f' % roc_auc_score(y, oof_preds)) \n",
    "    \n",
    "    test_['isDefault'] = sub_preds\n",
    "\n",
    "    return oof_preds, test_[['loan_id', 'isDefault']], feature_importance_df\n",
    "\n",
    "# def train_model_lgbm(data_, test_, y_, folds_,col_to_excl_from_feats=[]):\n",
    "    '''\n",
    "    用lightgbm模型训练\n",
    "    '''\n",
    "    oof_preds = np.zeros(data_.shape[0])\n",
    "    sub_preds = np.zeros(test_.shape[0])\n",
    "    feature_importance_df = pd.DataFrame()\n",
    "    feats = [f for f in data_.columns if f not in ['loan_id', 'user_id', 'isDefault'] + col_to_excl_from_feats]\n",
    "    # for n_fold, (trn_idx, val_idx) in enumerate(folds_.split(data_)):\n",
    "    for n_fold, (trn_idx, val_idx) in enumerate(folds_.split(data_,y)):\n",
    "        trn_x, trn_y = data_[feats].iloc[trn_idx], y_.iloc[trn_idx]\n",
    "        val_x, val_y = data_[feats].iloc[val_idx], y_.iloc[val_idx]\n",
    "        clf = LGBMClassifier(\n",
    "            # n_estimators=4000,\n",
    "            n_estimators=200,\n",
    "            learning_rate=0.08,\n",
    "            num_leaves=2**5,\n",
    "            colsample_bytree=.65,\n",
    "            subsample=.9,\n",
    "            max_depth=5,\n",
    "#             max_bin=250,\n",
    "            reg_alpha=.3,\n",
    "            reg_lambda=.3,\n",
    "            min_split_gain=.01,\n",
    "            min_child_weight=2,\n",
    "            silent=-1,\n",
    "            verbose=-1,\n",
    "        )\n",
    "        \n",
    "        clf.fit(trn_x, trn_y, \n",
    "                eval_set= [(trn_x, trn_y), (val_x, val_y)], \n",
    "                eval_metric='auc', verbose=100, early_stopping_rounds=40  #30\n",
    "               )\n",
    "\n",
    "        oof_preds[val_idx] = clf.predict_proba(val_x, num_iteration=clf.best_iteration_)[:, 1]\n",
    "        sub_preds += clf.predict_proba(test_[feats], num_iteration=clf.best_iteration_)[:, 1] / folds_.n_splits\n",
    "        \n",
    "        fold_importance_df = pd.DataFrame()\n",
    "        fold_importance_df[\"feature\"] = feats\n",
    "        fold_importance_df[\"importance\"] = clf.feature_importances_\n",
    "        fold_importance_df[\"fold\"] = n_fold + 1\n",
    "        feature_importance_df = pd.concat([feature_importance_df, fold_importance_df], axis=0)\n",
    "        \n",
    "        print('Fold %2d AUC : %.6f' % (n_fold + 1, roc_auc_score(val_y, oof_preds[val_idx])))\n",
    "        del clf, trn_x, trn_y, val_x, val_y\n",
    "        gc.collect()\n",
    "        \n",
    "    print('Full AUC score %.6f' % roc_auc_score(y, oof_preds)) \n",
    "    \n",
    "    test_['isDefault'] = sub_preds\n",
    "\n",
    "    return oof_preds, test_[['loan_id', 'isDefault']], feature_importance_df\n",
    "        \n",
    "    print('Full AUC score %.6f' % roc_auc_score(y, oof_preds)) \n",
    "    \n",
    "    test_['isDefault'] = sub_preds\n",
    "\n",
    "    return oof_preds, test_[['loan_id', 'isDefault']], feature_importance_df\n",
    "\n",
    "def train_model_xgb(data_, test_, y_, folds_, train_model_loc=None, trained_model_name=\"xgboost\"):\n",
    "    import pickle\n",
    "    oof_preds = np.zeros(data_.shape[0])\n",
    "    sub_preds = np.zeros(test_.shape[0])\n",
    "    feats = [f for f in data_.columns if f not in ['loan_id', 'user_id', 'isDefault']]\n",
    "    for n_fold, (trn_idx, val_idx) in enumerate(folds_.split(data_)):\n",
    "        trn_x, trn_y = data_[feats].iloc[trn_idx], y_.iloc[trn_idx] # 划分训练集和验证集\n",
    "        val_x, val_y = data_[feats].iloc[val_idx], y_.iloc[val_idx]\n",
    "        if(train_model_loc is None):\n",
    "            clf = XGBClassifier(eval_metric='auc', max_depth=5, alpha=0.3, reg_lambda=0.3, subsample=0.8,\n",
    "                            colsample_bylevel=0.867, objective='binary:logistic', use_label_encoder=False,\n",
    "                            learning_rate=0.08, n_estimators=4000, min_child_weight=2, tree_method='hist',\n",
    "                            n_jobs=-1) \n",
    "                            # reg_lambda: Defines the degree of L2 regularization \n",
    "                            # alpha: Defines the degree of L1 reg on weights\n",
    "            clf.fit(trn_x, trn_y,\n",
    "                eval_set=[(trn_x, trn_y), (val_x, val_y)],\n",
    "                eval_metric='auc', verbose=100, early_stopping_rounds=40  # 40\n",
    "                )\n",
    "            pickle.dump(clf, open(f\"./trained_models/{trained_model_name}.pkl\",\"wb\"))\n",
    "        else: # 加载经过预训练的模型\n",
    "            print(\"The trained model has been loaded!\")\n",
    "            clf = pickle.load(train_model_loc,\"rb\")\n",
    "        oof_preds[val_idx] = clf.predict_proba(val_x, ntree_limit=clf.best_ntree_limit)[:, 1] # Update prediction of the labels in the validation set\n",
    "        sub_preds += clf.predict_proba(test_[feats], ntree_limit=clf.best_ntree_limit)[:, 1] / folds_.n_splits # Updare prediction of labels in the test set\n",
    "        print('Fold %2d AUC : %.6f' % (n_fold + 1, roc_auc_score(val_y, oof_preds[val_idx]))) # Compare the prediction with the obs in the validation set\n",
    "        del clf, trn_x, trn_y, val_x, val_y\n",
    "        gc.collect()\n",
    "\n",
    "    print('Full AUC score %.6f' % roc_auc_score(y_, oof_preds))\n",
    "\n",
    "    test_['isDefault'] = sub_preds\n",
    "    return test_[['loan_id', 'isDefault']]\n",
    "\n",
    "    \n",
    "def display_importances(feature_importance_df_, fname='lgbm_importances.png'):\n",
    "    '''\n",
    "    绘制特征重要性图\n",
    "    '''\n",
    "    sns.set(style='whitegrid')\n",
    "    \n",
    "    # Plot feature importances\n",
    "    cols = feature_importance_df_[[\"feature\", \"importance\"]].groupby(\"feature\").mean().sort_values( # Calculate avg over folds\n",
    "        by=\"importance\", ascending=False)[:50].index\n",
    "    \n",
    "    best_features = feature_importance_df_.loc[feature_importance_df_.feature.isin(cols)]\n",
    "    \n",
    "    plt.figure(figsize=(8,10))\n",
    "    sns.barplot(x=\"importance\", y=\"feature\", \n",
    "                data=best_features.sort_values(by=\"importance\", ascending=False))\n",
    "    plt.title(f'{fname.split(\"_\")[0]} Features (avg over folds)')\n",
    "\n",
    "    # ax = plt.gca()\n",
    "\n",
    "    ### todo: Set the color of ticks on x and y axes to white\n",
    "    \n",
    "    # ax.set_xticklabels(col='white')\n",
    "    # ax.set_yticklabels(col='white')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig(fname)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据预处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征处理函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def workYearDIc(x):\n",
    "    if str(x)=='nan': # Check the ratio of 'nan' entries\n",
    "        return -1\n",
    "    x = x.replace('< 1','0')\n",
    "    return int(re.search('(\\d+)', x).group())\n",
    "\n",
    "def findDig(val):\n",
    "    fd = re.search('(\\d+-)', val)\n",
    "    if fd is None:\n",
    "        return '1-'+val\n",
    "    return val + '-01'\n",
    "\n",
    "\n",
    "class_dict = {\n",
    "    'A': 1,\n",
    "    'B': 2,\n",
    "    'C': 3,\n",
    "    'D': 4,\n",
    "    'E': 5,\n",
    "    'F': 6,\n",
    "    'G': 7,\n",
    "}\n",
    "timeMax = pd.to_datetime('1-Dec-21')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "#train_test, train_public数据处理\n",
    "train_data['work_year'] = train_data['work_year'].map(workYearDIc)\n",
    "test_public['work_year'] = test_public['work_year'].map(workYearDIc)\n",
    "\n",
    "train_data['class'] = train_data['class'].map(class_dict)\n",
    "test_public['class'] = test_public['class'].map(class_dict)\n",
    "\n",
    "train_data['earlies_credit_mon'] = pd.to_datetime(train_data['earlies_credit_mon'].map(findDig))\n",
    "test_public['earlies_credit_mon'] = pd.to_datetime(test_public['earlies_credit_mon'].map(findDig))\n",
    "\n",
    "train_data.loc[ train_data['earlies_credit_mon']>timeMax,'earlies_credit_mon' ] = train_data.loc[ train_data['earlies_credit_mon']>timeMax,'earlies_credit_mon' ]+  pd.offsets.DateOffset(years=-100)  \n",
    "test_public.loc[ test_public['earlies_credit_mon']>timeMax,'earlies_credit_mon' ] = test_public.loc[ test_public['earlies_credit_mon']>timeMax,'earlies_credit_mon' ]+ pd.offsets.DateOffset(years=-100)\n",
    "\n",
    "train_data['issue_date'] = pd.to_datetime(train_data['issue_date'])\n",
    "test_public['issue_date'] = pd.to_datetime(test_public['issue_date'])\n",
    "\n",
    "# 尝试用平均数填补缺失值\n",
    "# train_data['work_year'].fillna(value= train_data['work_year'].mean())\n",
    "# test_public['work_year'].fillna(value= test_public['work_year'].mean())\n",
    "\n",
    "\n",
    "#Internet数据处理\n",
    "train_inte['work_year'] = train_inte['work_year'].map(workYearDIc)\n",
    "train_inte['class'] = train_inte['class'].map(class_dict)\n",
    "train_inte['earlies_credit_mon'] = pd.to_datetime(train_inte['earlies_credit_mon'])\n",
    "train_inte['issue_date'] = pd.to_datetime(train_inte['issue_date'])\n",
    "\n",
    "# 尝试用平均数填补缺失值\n",
    "# train_inte['work_year'].fillna(value= train_inte['work_year'].mean())\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 缺失值填充"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'f0', 'f1', 'f2', 'f3', 'f4', 'pub_dero_bankrup'}"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Columns containing missing values\n",
    "set(train_data.columns).difference(train_data.dropna(axis='columns').columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 39 columns.\n",
      "There are 6 columns that have missing values.\n",
      "Your selected dataframe has 38 columns.\n",
      "There are 6 columns that have missing values.\n",
      "Your selected dataframe has 42 columns.\n",
      "There are 11 columns that have missing values.\n",
      "['pub_dero_bankrup']\n",
      "['pub_dero_bankrup']\n",
      "['f5', 'post_code', 'debt_loan_ratio', 'pub_dero_bankrup', 'title', 'recircle_u']\n"
     ]
    }
   ],
   "source": [
    "f_feas = ['f0', 'f1', 'f2', 'f3', 'f4'] # f5只在Internet数据中出现，不用于模型训练，不包含\n",
    "\n",
    "missing_numerical_feas_train_data = list(set(missing_values_table(train_data).reset_index().iloc[:,0]).difference(set(f_feas)))\n",
    "\n",
    "missing_numerical_feas_test_pub = list(set(missing_values_table(test_public).reset_index().iloc[:,0]).difference(set(f_feas)))\n",
    "\n",
    "missing_numerical_feas_train_inte = list(set(missing_values_table(train_inte).reset_index().iloc[:,0]).difference(set(f_feas)))\n",
    "\n",
    "print(missing_numerical_feas_train_data)\n",
    "print(missing_numerical_feas_test_pub)\n",
    "print(missing_numerical_feas_train_inte)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "for col in missing_numerical_feas_train_data:\n",
    "    train_data[col] = train_data[col].fillna(train_data[col].median())\n",
    "\n",
    "for col in missing_numerical_feas_test_pub:\n",
    "    test_public[col] = test_public[col].fillna(test_public[col].median())\n",
    "\n",
    "train_data.loc[train_data['debt_loan_ratio'] <= 0, 'debt_loan_ratio'] = 0\n",
    "test_public.loc[test_public['debt_loan_ratio'] <= 0, 'debt_loan_ratio'] = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "for col in missing_numerical_feas_train_inte:\n",
    "    if train_inte[col].dtype == \"int64\" or train_inte[col].dtype == \"float64\":\n",
    "        if col == \"post_code\":\n",
    "            train_inte[\"post_code\"] = train_inte[\"post_code\"].fillna(train_inte[\"post_code\"].mode()[0])\n",
    "        else:\n",
    "            train_inte[col] = train_inte[col].fillna(train_inte[col].median())\n",
    "train_inte['debt_loan_ratio'] = train_inte['debt_loan_ratio'].apply(lambda x: 0 if x < 0 else x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data[f_feas] = train_data[f_feas].fillna(train_data[f_feas].median())\n",
    "test_public[f_feas] = test_public[f_feas].fillna(test_public[f_feas].median())\n",
    "train_inte[f_feas] = train_inte[f_feas].fillna(train_inte[f_feas].median())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 44 columns.\n",
      "There are 1 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>work_year</th>\n",
       "      <td>622</td>\n",
       "      <td>6.200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           Missing Values  % of Total Values\n",
       "work_year             622              6.200"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 43 columns.\n",
      "There are 1 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>work_year</th>\n",
       "      <td>278</td>\n",
       "      <td>5.600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           Missing Values  % of Total Values\n",
       "work_year             278              5.600"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 47 columns.\n",
      "There are 1 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>work_year</th>\n",
       "      <td>43847</td>\n",
       "      <td>5.800</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           Missing Values  % of Total Values\n",
       "work_year           43847              5.800"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "missing_values_table(train_data)\n",
    "missing_values_table(test_public)\n",
    "missing_values_table(train_inte)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 39 columns.\n",
      "There are 0 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Missing Values, % of Total Values]\n",
       "Index: []"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 38 columns.\n",
      "There are 0 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Missing Values, % of Total Values]\n",
       "Index: []"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your selected dataframe has 42 columns.\n",
      "There are 0 columns that have missing values.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Values</th>\n",
       "      <th>% of Total Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Missing Values, % of Total Values]\n",
       "Index: []"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "missing_values_table(train_data)\n",
    "missing_values_table(test_public)\n",
    "missing_values_table(train_inte)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0   2001-12-01\n",
       "1   1990-04-01\n",
       "2   1991-10-01\n",
       "3   2001-06-01\n",
       "4   2001-05-02\n",
       "5   1983-01-01\n",
       "6   2001-10-02\n",
       "7   2001-10-08\n",
       "8   1971-11-01\n",
       "9   2001-12-01\n",
       "Name: earlies_credit_mon, dtype: datetime64[ns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import copy\n",
    "\n",
    "df = copy.deepcopy(train_data['earlies_credit_mon'].iloc[:10])\n",
    "\n",
    "pd.to_datetime(df.map(findDig))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对抗过拟合-特征粒度处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 时间特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data['issue_date_month'] = train_data['issue_date'].dt.month\n",
    "test_public['issue_date_month'] = test_public['issue_date'].dt.month\n",
    "train_data['issue_date_dayofweek'] = train_data['issue_date'].dt.dayofweek\n",
    "test_public['issue_date_dayofweek'] = test_public['issue_date'].dt.dayofweek\n",
    "\n",
    "train_data['earliesCreditMon'] = train_data['earlies_credit_mon'].dt.month\n",
    "test_public['earliesCreditMon'] = test_public['earlies_credit_mon'].dt.month\n",
    "train_data['earliesCreditYear'] = train_data['earlies_credit_mon'].dt.year\n",
    "test_public['earliesCreditYear'] = test_public['earlies_credit_mon'].dt.year\n",
    "\n",
    "\n",
    "###internet数据\n",
    "\n",
    "train_inte['issue_date_month'] = train_inte['issue_date'].dt.month\n",
    "train_inte['issue_date_dayofweek'] = train_inte['issue_date'].dt.dayofweek\n",
    "train_inte['earliesCreditMon'] = train_inte['earlies_credit_mon'].dt.month\n",
    "train_inte['earliesCreditYear'] = train_inte['earlies_credit_mon'].dt.year\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pcode 特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    193\n",
       "1    491\n",
       "2    459\n",
       "3    157\n",
       "4     38\n",
       "Name: post_code, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data['post_code'].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "901"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data['post_code'].min()\n",
    "train_data['post_code'].max()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 精度处理，没有提升，不代表不对"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "def set_precision(num, n_digits = 3):\n",
    "\n",
    "    # num = float(num)\n",
    "\n",
    "    fmt_str = f'.{n_digits}f'\n",
    "    # print(fmt_str)\n",
    "    return float(f'{num:{fmt_str}}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'float64'"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "str(train_inte['total_loan'].dtype)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process(df, func=set_precision, **kwargs) -> pd.DataFrame:\n",
    "    for col in df:\n",
    "        if str(df[col].dtype) == 'float64':\n",
    "            new_col = df[col].apply(set_precision, **kwargs)\n",
    "            new_col.name = col\n",
    "            df = df.drop(col, axis=1)\n",
    "            df[col] = new_col\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>loan_id</th>\n",
       "      <th>user_id</th>\n",
       "      <th>year_of_loan</th>\n",
       "      <th>class</th>\n",
       "      <th>employer_type</th>\n",
       "      <th>industry</th>\n",
       "      <th>work_year</th>\n",
       "      <th>house_exist</th>\n",
       "      <th>censor_status</th>\n",
       "      <th>issue_date</th>\n",
       "      <th>use</th>\n",
       "      <th>post_code</th>\n",
       "      <th>region</th>\n",
       "      <th>del_in_18month</th>\n",
       "      <th>known_outstanding_loan</th>\n",
       "      <th>known_dero</th>\n",
       "      <th>initial_list_status</th>\n",
       "      <th>app_type</th>\n",
       "      <th>earlies_credit_mon</th>\n",
       "      <th>title</th>\n",
       "      <th>policy_code</th>\n",
       "      <th>early_return</th>\n",
       "      <th>early_return_amount</th>\n",
       "      <th>isDefault</th>\n",
       "      <th>issue_date_month</th>\n",
       "      <th>issue_date_dayofweek</th>\n",
       "      <th>earliesCreditMon</th>\n",
       "      <th>earliesCreditYear</th>\n",
       "      <th>total_loan</th>\n",
       "      <th>interest</th>\n",
       "      <th>monthly_payment</th>\n",
       "      <th>debt_loan_ratio</th>\n",
       "      <th>scoring_low</th>\n",
       "      <th>scoring_high</th>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <th>recircle_b</th>\n",
       "      <th>recircle_u</th>\n",
       "      <th>f0</th>\n",
       "      <th>f1</th>\n",
       "      <th>f2</th>\n",
       "      <th>f3</th>\n",
       "      <th>f4</th>\n",
       "      <th>early_return_amount_3mon</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1040418</td>\n",
       "      <td>240418</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>政府机构</td>\n",
       "      <td>金融业</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-10-01</td>\n",
       "      <td>2</td>\n",
       "      <td>193</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2001-12-01</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>9927</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>2001</td>\n",
       "      <td>31818.182</td>\n",
       "      <td>11.466</td>\n",
       "      <td>1174.910</td>\n",
       "      <td>2.430</td>\n",
       "      <td>556.364</td>\n",
       "      <td>649.091</td>\n",
       "      <td>0.000</td>\n",
       "      <td>7734.231</td>\n",
       "      <td>91.800</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>5.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1025197</td>\n",
       "      <td>225197</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>政府机构</td>\n",
       "      <td>金融业</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2013-06-01</td>\n",
       "      <td>0</td>\n",
       "      <td>491</td>\n",
       "      <td>30</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1990-04-01</td>\n",
       "      <td>40642</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>1990</td>\n",
       "      <td>28000.000</td>\n",
       "      <td>16.841</td>\n",
       "      <td>670.690</td>\n",
       "      <td>11.005</td>\n",
       "      <td>715.000</td>\n",
       "      <td>893.750</td>\n",
       "      <td>0.000</td>\n",
       "      <td>31329.000</td>\n",
       "      <td>54.800</td>\n",
       "      <td>7.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>45.000</td>\n",
       "      <td>22.000</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1009360</td>\n",
       "      <td>209360</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>政府机构</td>\n",
       "      <td>公共服务、社会组织</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-01</td>\n",
       "      <td>4</td>\n",
       "      <td>459</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1991-10-01</td>\n",
       "      <td>154</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>10</td>\n",
       "      <td>1991</td>\n",
       "      <td>17272.727</td>\n",
       "      <td>8.900</td>\n",
       "      <td>603.320</td>\n",
       "      <td>6.409</td>\n",
       "      <td>774.545</td>\n",
       "      <td>903.636</td>\n",
       "      <td>0.000</td>\n",
       "      <td>18514.000</td>\n",
       "      <td>57.692</td>\n",
       "      <td>6.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>28.000</td>\n",
       "      <td>19.000</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1039708</td>\n",
       "      <td>239708</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>世界五百强</td>\n",
       "      <td>文化和体育业</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2015-07-01</td>\n",
       "      <td>0</td>\n",
       "      <td>157</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2001-06-01</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>2001</td>\n",
       "      <td>20000.000</td>\n",
       "      <td>4.788</td>\n",
       "      <td>602.300</td>\n",
       "      <td>9.205</td>\n",
       "      <td>750.000</td>\n",
       "      <td>875.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>20707.000</td>\n",
       "      <td>42.600</td>\n",
       "      <td>5.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>10.000</td>\n",
       "      <td>15.000</td>\n",
       "      <td>9.000</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1027483</td>\n",
       "      <td>227483</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>政府机构</td>\n",
       "      <td>信息传输、软件和信息技术服务业</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-07-01</td>\n",
       "      <td>0</td>\n",
       "      <td>38</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2001-05-02</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>2001</td>\n",
       "      <td>15272.727</td>\n",
       "      <td>12.790</td>\n",
       "      <td>470.310</td>\n",
       "      <td>15.578</td>\n",
       "      <td>609.091</td>\n",
       "      <td>710.606</td>\n",
       "      <td>0.000</td>\n",
       "      <td>14016.154</td>\n",
       "      <td>30.462</td>\n",
       "      <td>10.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>15.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   loan_id  user_id  year_of_loan  class employer_type         industry  \\\n",
       "0  1040418   240418             3      3          政府机构              金融业   \n",
       "1  1025197   225197             5      3          政府机构              金融业   \n",
       "2  1009360   209360             3      1          政府机构        公共服务、社会组织   \n",
       "3  1039708   239708             3      1         世界五百强           文化和体育业   \n",
       "4  1027483   227483             3      3          政府机构  信息传输、软件和信息技术服务业   \n",
       "\n",
       "   work_year  house_exist  censor_status issue_date  use  post_code  region  \\\n",
       "0          3            0              1 2016-10-01    2        193      13   \n",
       "1         10            0              2 2013-06-01    0        491      30   \n",
       "2         10            1              0 2014-01-01    4        459       8   \n",
       "3          6            0              1 2015-07-01    0        157       8   \n",
       "4          0            2              1 2016-07-01    0         38      21   \n",
       "\n",
       "   del_in_18month  known_outstanding_loan  known_dero  initial_list_status  \\\n",
       "0               0                       3           0                    0   \n",
       "1               1                       3           0                    1   \n",
       "2               0                       5           0                    1   \n",
       "3               0                       3           0                    0   \n",
       "4               0                      15           0                    0   \n",
       "\n",
       "   app_type earlies_credit_mon  title  policy_code  early_return  \\\n",
       "0         0         2001-12-01      5            1             3   \n",
       "1         0         1990-04-01  40642            1             0   \n",
       "2         0         1991-10-01    154            1             0   \n",
       "3         0         2001-06-01      0            1             0   \n",
       "4         0         2001-05-02      0            1             0   \n",
       "\n",
       "   early_return_amount  isDefault  issue_date_month  issue_date_dayofweek  \\\n",
       "0                 9927          0                10                     5   \n",
       "1                    0          0                 6                     5   \n",
       "2                    0          0                 1                     2   \n",
       "3                    0          0                 7                     2   \n",
       "4                    0          0                 7                     4   \n",
       "\n",
       "   earliesCreditMon  earliesCreditYear  total_loan  interest  monthly_payment  \\\n",
       "0                12               2001   31818.182    11.466         1174.910   \n",
       "1                 4               1990   28000.000    16.841          670.690   \n",
       "2                10               1991   17272.727     8.900          603.320   \n",
       "3                 6               2001   20000.000     4.788          602.300   \n",
       "4                 5               2001   15272.727    12.790          470.310   \n",
       "\n",
       "   debt_loan_ratio  scoring_low  scoring_high  pub_dero_bankrup  recircle_b  \\\n",
       "0            2.430      556.364       649.091             0.000    7734.231   \n",
       "1           11.005      715.000       893.750             0.000   31329.000   \n",
       "2            6.409      774.545       903.636             0.000   18514.000   \n",
       "3            9.205      750.000       875.000             0.000   20707.000   \n",
       "4           15.578      609.091       710.606             0.000   14016.154   \n",
       "\n",
       "   recircle_u     f0    f1     f2     f3     f4  early_return_amount_3mon  \n",
       "0      91.800  1.000 0.000  4.000  5.000  4.000                     0.000  \n",
       "1      54.800  7.000 0.000  4.000 45.000 22.000                     0.000  \n",
       "2      57.692  6.000 0.000  6.000 28.000 19.000                     0.000  \n",
       "3      42.600  5.000 0.000 10.000 15.000  9.000                     0.000  \n",
       "4      30.462 10.000 0.000  6.000 15.000  4.000                     0.000  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data = process(train_data, n_digits = 3)\n",
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_public = process(test_public, n_digits=3)\n",
    "\n",
    "train_inte = process(train_inte, n_digits=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2890.910\n",
       "1    7272.730\n",
       "2   26295.450\n",
       "3   22690.910\n",
       "4   14545.450\n",
       "Name: total_loan, dtype: float64"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### 查看效果\n",
    "train_inte['total_loan'].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 精度处理后添加特征"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分期付款与贷款总额比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "instalment_loan_ratio = train_data['monthly_payment'] / train_data['total_loan']\n",
    "\n",
    "train_data['ratio_instalment_loan'] = instalment_loan_ratio\n",
    "\n",
    "\n",
    "instalment_loan_ratio = test_public['monthly_payment'] / test_public['total_loan']\n",
    "\n",
    "test_public['ratio_instalment_loan'] = instalment_loan_ratio\n",
    "\n",
    "\n",
    "instalment_loan_ratio = train_inte['monthly_payment'] / train_inte['total_loan']\n",
    "\n",
    "train_inte['ratio_instalment_loan'] = instalment_loan_ratio"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      0.037\n",
       "1      0.024\n",
       "2      0.035\n",
       "3      0.030\n",
       "4      0.031\n",
       "        ... \n",
       "9995   0.029\n",
       "9996   0.034\n",
       "9997   0.029\n",
       "9998   0.036\n",
       "9999   0.034\n",
       "Name: ratio_instalment_loan, Length: 10000, dtype: float64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data['ratio_instalment_loan']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 自然编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>employer_type</th>\n",
       "      <th>industry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>普通企业</td>\n",
       "      <td>采矿业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>普通企业</td>\n",
       "      <td>国际组织</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>上市企业</td>\n",
       "      <td>信息传输、软件和信息技术服务业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>普通企业</td>\n",
       "      <td>电力、热力生产供应业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>政府机构</td>\n",
       "      <td>金融业</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  employer_type         industry\n",
       "0          普通企业              采矿业\n",
       "1          普通企业             国际组织\n",
       "2          上市企业  信息传输、软件和信息技术服务业\n",
       "3          普通企业       电力、热力生产供应业\n",
       "4          政府机构              金融业"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat_cols = ['employer_type', 'industry']\n",
    "train_inte[cat_cols].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "cat_cols = ['employer_type', 'industry']\n",
    "\n",
    "for col in cat_cols:\n",
    "\n",
    "    # if col == 'employer_type':\n",
    "    #     lbl = OneHotEncoder().fit(train_data[col])\n",
    "\n",
    "    dummies_train = pd.get_dummies(train_data[col])\n",
    "    # print(dummies_train.head())\n",
    "    dummies_test = pd.get_dummies(test_public[col])\n",
    "    # lbl = LabelEncoder().fit(train_data[col])\n",
    "    # train_data[col] = lbl.transform(train_data[col])\n",
    "    # test_public[col] = lbl.transform(test_public[col])\n",
    "    dummies_inte = pd.get_dummies(train_inte[col])\n",
    "\n",
    "    # 合并虚拟变量和原数据\n",
    "    train_data = pd.concat([train_data,dummies_train],axis=1)\n",
    "    test_public = pd.concat([test_public, dummies_test], axis=1)\n",
    "    train_inte = pd.concat([train_inte, dummies_inte], axis=1)\n",
    "\n",
    "    # 删除编码前的数据\n",
    "    del train_data[col]\n",
    "    del test_public[col]\n",
    "    del train_inte[col]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>loan_id</th>\n",
       "      <th>user_id</th>\n",
       "      <th>year_of_loan</th>\n",
       "      <th>class</th>\n",
       "      <th>sub_class</th>\n",
       "      <th>work_type</th>\n",
       "      <th>work_year</th>\n",
       "      <th>house_exist</th>\n",
       "      <th>house_loan_status</th>\n",
       "      <th>censor_status</th>\n",
       "      <th>marriage</th>\n",
       "      <th>offsprings</th>\n",
       "      <th>issue_date</th>\n",
       "      <th>use</th>\n",
       "      <th>region</th>\n",
       "      <th>early_return</th>\n",
       "      <th>early_return_amount</th>\n",
       "      <th>initial_list_status</th>\n",
       "      <th>earlies_credit_mon</th>\n",
       "      <th>is_default</th>\n",
       "      <th>issue_date_month</th>\n",
       "      <th>issue_date_dayofweek</th>\n",
       "      <th>earliesCreditMon</th>\n",
       "      <th>earliesCreditYear</th>\n",
       "      <th>total_loan</th>\n",
       "      <th>interest</th>\n",
       "      <th>monthly_payment</th>\n",
       "      <th>post_code</th>\n",
       "      <th>debt_loan_ratio</th>\n",
       "      <th>del_in_18month</th>\n",
       "      <th>scoring_low</th>\n",
       "      <th>scoring_high</th>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <th>early_return_amount_3mon</th>\n",
       "      <th>recircle_b</th>\n",
       "      <th>recircle_u</th>\n",
       "      <th>title</th>\n",
       "      <th>policy_code</th>\n",
       "      <th>f0</th>\n",
       "      <th>f1</th>\n",
       "      <th>f2</th>\n",
       "      <th>f3</th>\n",
       "      <th>f4</th>\n",
       "      <th>f5</th>\n",
       "      <th>ratio_instalment_loan</th>\n",
       "      <th>上市企业</th>\n",
       "      <th>世界五百强</th>\n",
       "      <th>幼教与中小学校</th>\n",
       "      <th>政府机构</th>\n",
       "      <th>普通企业</th>\n",
       "      <th>高等教育机构</th>\n",
       "      <th>交通运输、仓储和邮政业</th>\n",
       "      <th>住宿和餐饮业</th>\n",
       "      <th>信息传输、软件和信息技术服务业</th>\n",
       "      <th>公共服务、社会组织</th>\n",
       "      <th>农、林、牧、渔业</th>\n",
       "      <th>制造业</th>\n",
       "      <th>国际组织</th>\n",
       "      <th>建筑业</th>\n",
       "      <th>房地产业</th>\n",
       "      <th>批发和零售业</th>\n",
       "      <th>文化和体育业</th>\n",
       "      <th>电力、热力生产供应业</th>\n",
       "      <th>采矿业</th>\n",
       "      <th>金融业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>119262</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>B5</td>\n",
       "      <td>职员</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2015-06-01</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1984-03-01</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1984</td>\n",
       "      <td>12000.000</td>\n",
       "      <td>11.530</td>\n",
       "      <td>264.100</td>\n",
       "      <td>814.000</td>\n",
       "      <td>5.070</td>\n",
       "      <td>1.000</td>\n",
       "      <td>670.000</td>\n",
       "      <td>674.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3855.000</td>\n",
       "      <td>23.100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>8.000</td>\n",
       "      <td>17.000</td>\n",
       "      <td>8.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0.022</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>369815</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>C3</td>\n",
       "      <td>其他</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2010-10-01</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1992-01-01</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1992</td>\n",
       "      <td>8000.000</td>\n",
       "      <td>13.980</td>\n",
       "      <td>273.350</td>\n",
       "      <td>240.000</td>\n",
       "      <td>15.040</td>\n",
       "      <td>0.000</td>\n",
       "      <td>725.000</td>\n",
       "      <td>729.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>118632.000</td>\n",
       "      <td>99.900</td>\n",
       "      <td>94.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>5.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>7.000</td>\n",
       "      <td>13.000</td>\n",
       "      <td>7.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.034</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>787833</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>D2</td>\n",
       "      <td>工人</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>0</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1996-10-01</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>1996</td>\n",
       "      <td>20000.000</td>\n",
       "      <td>17.990</td>\n",
       "      <td>507.760</td>\n",
       "      <td>164.000</td>\n",
       "      <td>17.380</td>\n",
       "      <td>1.000</td>\n",
       "      <td>675.000</td>\n",
       "      <td>679.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>15670.000</td>\n",
       "      <td>72.500</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>10.000</td>\n",
       "      <td>8.000</td>\n",
       "      <td>3.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>671675</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>B1</td>\n",
       "      <td>职员</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-05-01</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2000-07-01</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>2000</td>\n",
       "      <td>10700.000</td>\n",
       "      <td>10.160</td>\n",
       "      <td>346.070</td>\n",
       "      <td>48.000</td>\n",
       "      <td>27.870</td>\n",
       "      <td>0.000</td>\n",
       "      <td>710.000</td>\n",
       "      <td>714.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>18859.000</td>\n",
       "      <td>78.600</td>\n",
       "      <td>41646.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>3.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>11.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.032</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>245160</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>B1</td>\n",
       "      <td>其他</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2017-04-01</td>\n",
       "      <td>4</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2000-03-01</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>2000</td>\n",
       "      <td>8000.000</td>\n",
       "      <td>8.240</td>\n",
       "      <td>251.580</td>\n",
       "      <td>122.000</td>\n",
       "      <td>3.470</td>\n",
       "      <td>0.000</td>\n",
       "      <td>660.000</td>\n",
       "      <td>664.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>8337.000</td>\n",
       "      <td>67.800</td>\n",
       "      <td>4.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>3.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>8.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0.031</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   loan_id  user_id  year_of_loan  class sub_class work_type  work_year  \\\n",
       "0   119262        0             5      2        B5        职员         -1   \n",
       "1   369815        1             3      3        C3        其他         10   \n",
       "2   787833        2             5      4        D2        工人         10   \n",
       "3   671675        3             3      2        B1        职员          2   \n",
       "4   245160        4             3      2        B1        其他          5   \n",
       "\n",
       "   house_exist  house_loan_status  censor_status  marriage  offsprings  \\\n",
       "0            0                  0              2         0           0   \n",
       "1            0                  1              2         1           3   \n",
       "2            0                  0              1         0           0   \n",
       "3            2                  0              2         0           0   \n",
       "4            1                  2              0         0           0   \n",
       "\n",
       "  issue_date  use  region  early_return  early_return_amount  \\\n",
       "0 2015-06-01    0       4             0                    0   \n",
       "1 2010-10-01    2      21             0                    0   \n",
       "2 2016-08-01    0      20             0                    0   \n",
       "3 2013-05-01    4      10             0                    0   \n",
       "4 2017-04-01    4       9             0                    0   \n",
       "\n",
       "   initial_list_status earlies_credit_mon  is_default  issue_date_month  \\\n",
       "0                    0         1984-03-01           1                 6   \n",
       "1                    1         1992-01-01           0                10   \n",
       "2                    0         1996-10-01           0                 8   \n",
       "3                    0         2000-07-01           0                 5   \n",
       "4                    1         2000-03-01           0                 4   \n",
       "\n",
       "   issue_date_dayofweek  earliesCreditMon  earliesCreditYear  total_loan  \\\n",
       "0                     0                 3               1984   12000.000   \n",
       "1                     4                 1               1992    8000.000   \n",
       "2                     0                10               1996   20000.000   \n",
       "3                     2                 7               2000   10700.000   \n",
       "4                     5                 3               2000    8000.000   \n",
       "\n",
       "   interest  monthly_payment  post_code  debt_loan_ratio  del_in_18month  \\\n",
       "0    11.530          264.100    814.000            5.070           1.000   \n",
       "1    13.980          273.350    240.000           15.040           0.000   \n",
       "2    17.990          507.760    164.000           17.380           1.000   \n",
       "3    10.160          346.070     48.000           27.870           0.000   \n",
       "4     8.240          251.580    122.000            3.470           0.000   \n",
       "\n",
       "   scoring_low  scoring_high  pub_dero_bankrup  early_return_amount_3mon  \\\n",
       "0      670.000       674.000             1.000                     0.000   \n",
       "1      725.000       729.000             0.000                     0.000   \n",
       "2      675.000       679.000             0.000                     0.000   \n",
       "3      710.000       714.000             0.000                     0.000   \n",
       "4      660.000       664.000             0.000                     0.000   \n",
       "\n",
       "   recircle_b  recircle_u     title  policy_code    f0    f1     f2     f3  \\\n",
       "0    3855.000      23.100     0.000        1.000 1.000 0.000  8.000 17.000   \n",
       "1  118632.000      99.900    94.000        1.000 5.000 0.000  7.000 13.000   \n",
       "2   15670.000      72.500     0.000        1.000 6.000 0.000 10.000  8.000   \n",
       "3   18859.000      78.600 41646.000        1.000 3.000 0.000  4.000 11.000   \n",
       "4    8337.000      67.800     4.000        1.000 3.000 0.000  8.000  6.000   \n",
       "\n",
       "     f4    f5  ratio_instalment_loan  上市企业  世界五百强  幼教与中小学校  政府机构  普通企业  \\\n",
       "0 8.000 1.000                  0.022     0      0        0     0     1   \n",
       "1 7.000 0.000                  0.034     0      0        0     0     1   \n",
       "2 3.000 0.000                  0.025     1      0        0     0     0   \n",
       "3 6.000 0.000                  0.032     0      0        0     0     1   \n",
       "4 4.000 1.000                  0.031     0      0        0     1     0   \n",
       "\n",
       "   高等教育机构  交通运输、仓储和邮政业  住宿和餐饮业  信息传输、软件和信息技术服务业  公共服务、社会组织  农、林、牧、渔业  制造业  \\\n",
       "0       0            0       0                0          0         0    0   \n",
       "1       0            0       0                0          0         0    0   \n",
       "2       0            0       0                1          0         0    0   \n",
       "3       0            0       0                0          0         0    0   \n",
       "4       0            0       0                0          0         0    0   \n",
       "\n",
       "   国际组织  建筑业  房地产业  批发和零售业  文化和体育业  电力、热力生产供应业  采矿业  金融业  \n",
       "0     0    0     0       0       0           0    1    0  \n",
       "1     1    0     0       0       0           0    0    0  \n",
       "2     0    0     0       0       0           0    0    0  \n",
       "3     0    0     0       0       0           1    0    0  \n",
       "4     0    0     0       0       0           0    0    1  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_inte.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征聚类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['B5' 'C3' 'D2' 'B1' 'C5' 'A5' 'C1' 'B4' 'A1' 'D1' 'C4' 'E2' 'C2' 'D4'\n",
      " 'E3' 'D3' 'A4' 'B3' 'A3' 'E5' 'B2' 'G5' 'A2' 'F3' 'D5' 'E1' 'F4' 'F1'\n",
      " 'F5' 'F2' 'G1' 'E4' 'G2' 'G3' 'G4']\n",
      "[3 1 2 4 5 6 7]\n",
      "[2 3 4 1 5 6 7]\n"
     ]
    }
   ],
   "source": [
    "print(train_inte['sub_class'].unique())\n",
    "print(train_data['class'].unique())\n",
    "print(test_public['class'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "def cluster_by_class_labels(data, label):\n",
    "    '''\n",
    "    针对不同类标签的数据按标签聚类\n",
    "    '''\n",
    "    from sklearn.preprocessing import MinMaxScaler\n",
    "    from sklearn.cluster import KMeans\n",
    "    mms = MinMaxScaler()\n",
    "    feats = [f for f in data.columns if f not in ['loan_id', 'user_id', 'isDefault']]\n",
    "    datMa = data[feats]\n",
    "    numerical_data = datMa.loc[datMa['class'] == label,datMa.dtypes[(datMa.dtypes == \"int64\") | (datMa.dtypes == \"float64\")].index.values]\n",
    "    mmsModel = mms.fit_transform(numerical_data)\n",
    "    clf = KMeans(5, random_state=2021)\n",
    "    pre = clf.fit(mmsModel)\n",
    "    test = pre.labels_\n",
    "    final_data = pd.Series(test, index=data.loc[data['class'] == label].index)\n",
    "    if label == 1:\n",
    "        final_data = final_data.map({0: 'A1', 1: 'A2', 2: 'A3', 3: 'A4', 4: 'A5'})\n",
    "    elif label == 2:\n",
    "        final_data = final_data.map({0: 'B1', 1: 'B2', 2: 'B3', 3: 'B4', 4: 'B5'})\n",
    "    elif label == 3:\n",
    "        final_data = final_data.map({0: 'C1', 1: 'C2', 2: 'C3', 3: 'C4', 4: 'C5'})\n",
    "    elif label == 4:\n",
    "        final_data = final_data.map({0: 'D1', 1: 'D2', 2: 'D3', 3: 'D4', 4: 'D5'})\n",
    "    elif label == 5:\n",
    "        final_data = final_data.map({0: 'E1', 1: 'E2', 2: 'E3', 3: 'E4', 4: 'E5'})\n",
    "    elif label == 6:\n",
    "        final_data = final_data.map({0: 'F1', 1: 'F2', 2: 'F3', 3: 'F4', 4: 'F5'})\n",
    "    elif label == 7:\n",
    "        final_data = final_data.map({0: 'G1', 1: 'G2', 2: 'G3', 3: 'G4', 4: 'G5'})\n",
    "    return final_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 训练集合并\n",
    "train_data1 = cluster_by_class_labels(train_data, 1)\n",
    "train_data2 = cluster_by_class_labels(train_data, 2)\n",
    "train_data3 = cluster_by_class_labels(train_data, 3)\n",
    "train_data4 = cluster_by_class_labels(train_data, 4)\n",
    "train_data5 = cluster_by_class_labels(train_data, 5)\n",
    "train_data6 = cluster_by_class_labels(train_data, 6)\n",
    "train_data7 = cluster_by_class_labels(train_data, 7)\n",
    "train_dataall = pd.concat(\n",
    "    [train_data1, train_data2, train_data3, train_data4, train_data5, train_data6, train_data7]).reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    A1\n",
       "1    A2\n",
       "2    A2\n",
       "3    A2\n",
       "4    A4\n",
       "dtype: object"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_dataall.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data['sub_class'] = train_dataall"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 测试集合并\n",
    "test_data1 = cluster_by_class_labels(test_public, 1)\n",
    "test_data2 = cluster_by_class_labels(test_public, 2)\n",
    "test_data3 = cluster_by_class_labels(test_public, 3)\n",
    "test_data4 = cluster_by_class_labels(test_public, 4)\n",
    "test_data5 = cluster_by_class_labels(test_public, 5)\n",
    "test_data6 = cluster_by_class_labels(test_public, 6)\n",
    "test_data7 = cluster_by_class_labels(test_public, 7)\n",
    "test_dataall = pd.concat(\n",
    "    [test_data1, test_data2, test_data3, test_data4, test_data5, test_data6, test_data7]).reset_index(drop=True)\n",
    "test_public['sub_class'] = test_dataall"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将聚类后的subclass特征做自然编码\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "\n",
    "cat_cols = ['sub_class']\n",
    "for col in cat_cols:\n",
    "    lbl = LabelEncoder().fit(train_data[col])\n",
    "    train_data[col] = lbl.transform(train_data[col])\n",
    "    test_public[col] = lbl.transform(test_public[col])\n",
    "    train_inte[col] = lbl.transform(train_inte[col])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 去掉不重要的特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "# col_to_drop = ['issue_date', 'earlies_credit_mon', 'policy_code','post_code','region']\n",
    "col_to_drop = ['issue_date', 'earlies_credit_mon', 'policy_code','region']\n",
    "\n",
    "train_data = train_data.drop(col_to_drop, axis=1)\n",
    "test_public = test_public.drop(col_to_drop, axis=1 )\n",
    "\n",
    "##internet处理\n",
    "train_inte = train_inte.drop(col_to_drop, axis=1 )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 暂时不变\n",
    "# train_inte = train_inte.rename(columns={'is_default':'isDefault'})\n",
    "# data = pd.concat( [train_data,test_public] )\n",
    "tr_cols = set(train_data.columns)\n",
    "same_col = list(tr_cols.intersection(set(train_inte.columns)))\n",
    "\n",
    "# train_public与train_internet里相同名称的列\n",
    "data_cols_train_inte_public_same = train_inte[same_col].copy()\n",
    "\n",
    "# train_public里有但train_internet和train_public的共有列里没有的列\n",
    "Inte_add_cos = list(tr_cols.difference(set(same_col)))\n",
    "\n",
    "for col in Inte_add_cos:\n",
    "    data_cols_train_inte_public_same[col] = np.nan\n",
    "\n",
    "#81后加 \n",
    "# for col in cat_cols:\n",
    "#     dum = pd.get_dummies(data[col], prefix='OneHot_'+col +'_')\n",
    "#     data = pd.concat([data, dum], axis=1)\n",
    "# #     del data[col]\n",
    "#     del dum"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>early_return_amount</th>\n",
       "      <th>industry_to_mean_f1</th>\n",
       "      <th>industry_to_mean_f4</th>\n",
       "      <th>year_of_loan</th>\n",
       "      <th>del_in_18month</th>\n",
       "      <th>recircle_u</th>\n",
       "      <th>scoring_low</th>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <th>initial_list_status</th>\n",
       "      <th>title</th>\n",
       "      <th>debt_loan_ratio</th>\n",
       "      <th>use</th>\n",
       "      <th>recircle_b</th>\n",
       "      <th>industry</th>\n",
       "      <th>earliesCreditYear</th>\n",
       "      <th>f3</th>\n",
       "      <th>f2</th>\n",
       "      <th>total_loan</th>\n",
       "      <th>industry_to_mean_f2</th>\n",
       "      <th>issue_date_month</th>\n",
       "      <th>early_return_amount_3mon</th>\n",
       "      <th>scoring_high</th>\n",
       "      <th>house_exist</th>\n",
       "      <th>industry_to_mean_f0</th>\n",
       "      <th>monthly_payment</th>\n",
       "      <th>interest</th>\n",
       "      <th>sub_class</th>\n",
       "      <th>user_id</th>\n",
       "      <th>class</th>\n",
       "      <th>issue_date_dayofweek</th>\n",
       "      <th>industry_to_mean_f3</th>\n",
       "      <th>early_return</th>\n",
       "      <th>f1</th>\n",
       "      <th>loan_id</th>\n",
       "      <th>censor_status</th>\n",
       "      <th>f0</th>\n",
       "      <th>work_year</th>\n",
       "      <th>earliesCreditMon</th>\n",
       "      <th>ratio_instalment_loan</th>\n",
       "      <th>f4</th>\n",
       "      <th>employer_type</th>\n",
       "      <th>post_code</th>\n",
       "      <th>app_type</th>\n",
       "      <th>isDefault</th>\n",
       "      <th>known_outstanding_loan</th>\n",
       "      <th>known_dero</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.001</td>\n",
       "      <td>8.113</td>\n",
       "      <td>5</td>\n",
       "      <td>1.000</td>\n",
       "      <td>23.100</td>\n",
       "      <td>670.000</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>5.070</td>\n",
       "      <td>0</td>\n",
       "      <td>3855.000</td>\n",
       "      <td>12</td>\n",
       "      <td>1984</td>\n",
       "      <td>17.000</td>\n",
       "      <td>8.000</td>\n",
       "      <td>12000.000</td>\n",
       "      <td>8.616</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000</td>\n",
       "      <td>674.000</td>\n",
       "      <td>0</td>\n",
       "      <td>5.593</td>\n",
       "      <td>264.100</td>\n",
       "      <td>11.530</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>14.627</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>119262</td>\n",
       "      <td>2</td>\n",
       "      <td>1.000</td>\n",
       "      <td>-1</td>\n",
       "      <td>3</td>\n",
       "      <td>0.022</td>\n",
       "      <td>8.000</td>\n",
       "      <td>4</td>\n",
       "      <td>814.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0.001</td>\n",
       "      <td>8.096</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000</td>\n",
       "      <td>99.900</td>\n",
       "      <td>725.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1</td>\n",
       "      <td>94.000</td>\n",
       "      <td>15.040</td>\n",
       "      <td>2</td>\n",
       "      <td>118632.000</td>\n",
       "      <td>6</td>\n",
       "      <td>1992</td>\n",
       "      <td>13.000</td>\n",
       "      <td>7.000</td>\n",
       "      <td>8000.000</td>\n",
       "      <td>8.600</td>\n",
       "      <td>10</td>\n",
       "      <td>0.000</td>\n",
       "      <td>729.000</td>\n",
       "      <td>0</td>\n",
       "      <td>5.570</td>\n",
       "      <td>273.350</td>\n",
       "      <td>13.980</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>14.579</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>369815</td>\n",
       "      <td>2</td>\n",
       "      <td>5.000</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>0.034</td>\n",
       "      <td>7.000</td>\n",
       "      <td>4</td>\n",
       "      <td>240.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0.001</td>\n",
       "      <td>8.134</td>\n",
       "      <td>5</td>\n",
       "      <td>1.000</td>\n",
       "      <td>72.500</td>\n",
       "      <td>675.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>17.380</td>\n",
       "      <td>0</td>\n",
       "      <td>15670.000</td>\n",
       "      <td>2</td>\n",
       "      <td>1996</td>\n",
       "      <td>8.000</td>\n",
       "      <td>10.000</td>\n",
       "      <td>20000.000</td>\n",
       "      <td>8.627</td>\n",
       "      <td>8</td>\n",
       "      <td>0.000</td>\n",
       "      <td>679.000</td>\n",
       "      <td>0</td>\n",
       "      <td>5.586</td>\n",
       "      <td>507.760</td>\n",
       "      <td>17.990</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>14.641</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>787833</td>\n",
       "      <td>1</td>\n",
       "      <td>6.000</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>0.025</td>\n",
       "      <td>3.000</td>\n",
       "      <td>0</td>\n",
       "      <td>164.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0.001</td>\n",
       "      <td>8.114</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000</td>\n",
       "      <td>78.600</td>\n",
       "      <td>710.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0</td>\n",
       "      <td>41646.000</td>\n",
       "      <td>27.870</td>\n",
       "      <td>4</td>\n",
       "      <td>18859.000</td>\n",
       "      <td>11</td>\n",
       "      <td>2000</td>\n",
       "      <td>11.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>10700.000</td>\n",
       "      <td>8.587</td>\n",
       "      <td>5</td>\n",
       "      <td>0.000</td>\n",
       "      <td>714.000</td>\n",
       "      <td>2</td>\n",
       "      <td>5.584</td>\n",
       "      <td>346.070</td>\n",
       "      <td>10.160</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>14.637</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>671675</td>\n",
       "      <td>2</td>\n",
       "      <td>3.000</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>0.032</td>\n",
       "      <td>6.000</td>\n",
       "      <td>4</td>\n",
       "      <td>48.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0.001</td>\n",
       "      <td>8.114</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000</td>\n",
       "      <td>67.800</td>\n",
       "      <td>660.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1</td>\n",
       "      <td>4.000</td>\n",
       "      <td>3.470</td>\n",
       "      <td>4</td>\n",
       "      <td>8337.000</td>\n",
       "      <td>13</td>\n",
       "      <td>2000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>8.000</td>\n",
       "      <td>8000.000</td>\n",
       "      <td>8.545</td>\n",
       "      <td>4</td>\n",
       "      <td>0.000</td>\n",
       "      <td>664.000</td>\n",
       "      <td>1</td>\n",
       "      <td>5.604</td>\n",
       "      <td>251.580</td>\n",
       "      <td>8.240</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>14.635</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>245160</td>\n",
       "      <td>0</td>\n",
       "      <td>3.000</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>0.031</td>\n",
       "      <td>4.000</td>\n",
       "      <td>3</td>\n",
       "      <td>122.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   early_return_amount  industry_to_mean_f1  industry_to_mean_f4  \\\n",
       "0                    0                0.001                8.113   \n",
       "1                    0                0.001                8.096   \n",
       "2                    0                0.001                8.134   \n",
       "3                    0                0.001                8.114   \n",
       "4                    0                0.001                8.114   \n",
       "\n",
       "   year_of_loan  del_in_18month  recircle_u  scoring_low  pub_dero_bankrup  \\\n",
       "0             5           1.000      23.100      670.000             1.000   \n",
       "1             3           0.000      99.900      725.000             0.000   \n",
       "2             5           1.000      72.500      675.000             0.000   \n",
       "3             3           0.000      78.600      710.000             0.000   \n",
       "4             3           0.000      67.800      660.000             0.000   \n",
       "\n",
       "   initial_list_status     title  debt_loan_ratio  use  recircle_b  industry  \\\n",
       "0                    0     0.000            5.070    0    3855.000        12   \n",
       "1                    1    94.000           15.040    2  118632.000         6   \n",
       "2                    0     0.000           17.380    0   15670.000         2   \n",
       "3                    0 41646.000           27.870    4   18859.000        11   \n",
       "4                    1     4.000            3.470    4    8337.000        13   \n",
       "\n",
       "   earliesCreditYear     f3     f2  total_loan  industry_to_mean_f2  \\\n",
       "0               1984 17.000  8.000   12000.000                8.616   \n",
       "1               1992 13.000  7.000    8000.000                8.600   \n",
       "2               1996  8.000 10.000   20000.000                8.627   \n",
       "3               2000 11.000  4.000   10700.000                8.587   \n",
       "4               2000  6.000  8.000    8000.000                8.545   \n",
       "\n",
       "   issue_date_month  early_return_amount_3mon  scoring_high  house_exist  \\\n",
       "0                 6                     0.000       674.000            0   \n",
       "1                10                     0.000       729.000            0   \n",
       "2                 8                     0.000       679.000            0   \n",
       "3                 5                     0.000       714.000            2   \n",
       "4                 4                     0.000       664.000            1   \n",
       "\n",
       "   industry_to_mean_f0  monthly_payment  interest  sub_class  user_id  class  \\\n",
       "0                5.593          264.100    11.530          9        0      2   \n",
       "1                5.570          273.350    13.980         12        1      3   \n",
       "2                5.586          507.760    17.990         16        2      4   \n",
       "3                5.584          346.070    10.160          5        3      2   \n",
       "4                5.604          251.580     8.240          5        4      2   \n",
       "\n",
       "   issue_date_dayofweek  industry_to_mean_f3  early_return    f1  loan_id  \\\n",
       "0                     0               14.627             0 0.000   119262   \n",
       "1                     4               14.579             0 0.000   369815   \n",
       "2                     0               14.641             0 0.000   787833   \n",
       "3                     2               14.637             0 0.000   671675   \n",
       "4                     5               14.635             0 0.000   245160   \n",
       "\n",
       "   censor_status    f0  work_year  earliesCreditMon  ratio_instalment_loan  \\\n",
       "0              2 1.000         -1                 3                  0.022   \n",
       "1              2 5.000         10                 1                  0.034   \n",
       "2              1 6.000         10                10                  0.025   \n",
       "3              2 3.000          2                 7                  0.032   \n",
       "4              0 3.000          5                 3                  0.031   \n",
       "\n",
       "     f4  employer_type  post_code  app_type  isDefault  \\\n",
       "0 8.000              4    814.000       NaN        NaN   \n",
       "1 7.000              4    240.000       NaN        NaN   \n",
       "2 3.000              0    164.000       NaN        NaN   \n",
       "3 6.000              4     48.000       NaN        NaN   \n",
       "4 4.000              3    122.000       NaN        NaN   \n",
       "\n",
       "   known_outstanding_loan  known_dero  \n",
       "0                     NaN         NaN  \n",
       "1                     NaN         NaN  \n",
       "2                     NaN         NaN  \n",
       "3                     NaN         NaN  \n",
       "4                     NaN         NaN  "
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_cols_train_inte_public_same.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_cols_train_inte_public_same.to_pickle(\"./processed_data/data_intersect_train_inte.pkl\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## train 预测 Internet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_cols_train_inte_public_same = pd.read_pickle(\"./processed_data/data_intersect_train_inte.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fold  1 AUC : 0.873081\n",
      "Fold  2 AUC : 0.884560\n",
      "Fold  3 AUC : 0.886218\n",
      "Fold  4 AUC : 0.872876\n",
      "Fold  5 AUC : 0.887772\n",
      "Full AUC score 0.877864\n"
     ]
    }
   ],
   "source": [
    "# 处理过精度后, 用分层采样,模型lgbm\n",
    "y = train_data['isDefault']\n",
    "# folds = KFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "folds = StratifiedKFold(n_splits=5, shuffle=True, random_state=546789) # Need to update train_model()\n",
    "\n",
    "oof_preds, IntePre, importances = train_model(train_data, data_cols_train_inte_public_same, y, folds)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0:\ttest: 0.8569656\ttest1: 0.8305038\tbest: 0.8305038 (0)\ttotal: 57.5ms\tremaining: 2m 52s\n",
      "50:\ttest: 0.8965645\ttest1: 0.8695144\tbest: 0.8695144 (50)\ttotal: 248ms\tremaining: 14.3s\n",
      "100:\ttest: 0.8958697\ttest1: 0.8696575\tbest: 0.8696575 (100)\ttotal: 422ms\tremaining: 12.1s\n",
      "150:\ttest: 0.8958443\ttest1: 0.8694018\tbest: 0.8696575 (100)\ttotal: 756ms\tremaining: 14.3s\n",
      "200:\ttest: 0.8961586\ttest1: 0.8696486\tbest: 0.8696575 (100)\ttotal: 1.11s\tremaining: 15.4s\n",
      "250:\ttest: 0.8963113\ttest1: 0.8697022\tbest: 0.8697022 (250)\ttotal: 1.43s\tremaining: 15.7s\n",
      "300:\ttest: 0.8964117\ttest1: 0.8695466\tbest: 0.8697022 (250)\ttotal: 1.64s\tremaining: 14.7s\n",
      "350:\ttest: 0.8966074\ttest1: 0.8688849\tbest: 0.8697022 (250)\ttotal: 1.82s\tremaining: 13.7s\n",
      "400:\ttest: 0.8968469\ttest1: 0.8688634\tbest: 0.8697022 (250)\ttotal: 2s\tremaining: 13s\n",
      "450:\ttest: 0.8970889\ttest1: 0.8688938\tbest: 0.8697022 (250)\ttotal: 2.17s\tremaining: 12.3s\n",
      "500:\ttest: 0.8971188\ttest1: 0.8689492\tbest: 0.8697022 (250)\ttotal: 2.38s\tremaining: 11.9s\n",
      "550:\ttest: 0.8973359\ttest1: 0.8690870\tbest: 0.8697022 (250)\ttotal: 2.55s\tremaining: 11.3s\n",
      "600:\ttest: 0.8974189\ttest1: 0.8692193\tbest: 0.8697022 (250)\ttotal: 2.74s\tremaining: 11s\n",
      "650:\ttest: 0.8976099\ttest1: 0.8695109\tbest: 0.8697022 (250)\ttotal: 2.92s\tremaining: 10.5s\n",
      "700:\ttest: 0.8978016\ttest1: 0.8693535\tbest: 0.8697022 (250)\ttotal: 3.09s\tremaining: 10.1s\n",
      "750:\ttest: 0.8980263\ttest1: 0.8696378\tbest: 0.8697022 (250)\ttotal: 3.26s\tremaining: 9.76s\n",
      "800:\ttest: 0.8985679\ttest1: 0.8699026\tbest: 0.8699026 (800)\ttotal: 3.43s\tremaining: 9.42s\n",
      "850:\ttest: 0.8989109\ttest1: 0.8702013\tbest: 0.8702013 (850)\ttotal: 3.6s\tremaining: 9.09s\n",
      "900:\ttest: 0.8992641\ttest1: 0.8700832\tbest: 0.8702013 (850)\ttotal: 3.77s\tremaining: 8.8s\n",
      "950:\ttest: 0.8995668\ttest1: 0.8703014\tbest: 0.8703014 (950)\ttotal: 3.94s\tremaining: 8.49s\n",
      "1000:\ttest: 0.8998706\ttest1: 0.8703873\tbest: 0.8703873 (1000)\ttotal: 4.11s\tremaining: 8.21s\n",
      "1050:\ttest: 0.9002783\ttest1: 0.8705107\tbest: 0.8705107 (1050)\ttotal: 4.29s\tremaining: 7.95s\n",
      "1100:\ttest: 0.9007010\ttest1: 0.8704570\tbest: 0.8705107 (1050)\ttotal: 4.46s\tremaining: 7.7s\n",
      "1150:\ttest: 0.9010502\ttest1: 0.8706877\tbest: 0.8706877 (1150)\ttotal: 4.63s\tremaining: 7.44s\n",
      "1200:\ttest: 0.9014024\ttest1: 0.8708952\tbest: 0.8708952 (1200)\ttotal: 4.8s\tremaining: 7.2s\n",
      "1250:\ttest: 0.9017988\ttest1: 0.8709864\tbest: 0.8709864 (1250)\ttotal: 4.98s\tremaining: 6.96s\n",
      "1300:\ttest: 0.9021870\ttest1: 0.8712440\tbest: 0.8712440 (1300)\ttotal: 5.15s\tremaining: 6.73s\n",
      "1350:\ttest: 0.9026700\ttest1: 0.8714604\tbest: 0.8714604 (1350)\ttotal: 5.33s\tremaining: 6.5s\n",
      "1400:\ttest: 0.9030585\ttest1: 0.8715570\tbest: 0.8715570 (1400)\ttotal: 5.52s\tremaining: 6.3s\n",
      "1450:\ttest: 0.9034579\ttest1: 0.8717573\tbest: 0.8717573 (1450)\ttotal: 5.7s\tremaining: 6.09s\n",
      "1500:\ttest: 0.9038210\ttest1: 0.8717967\tbest: 0.8717967 (1500)\ttotal: 5.89s\tremaining: 5.88s\n",
      "1550:\ttest: 0.9042401\ttest1: 0.8719290\tbest: 0.8719290 (1550)\ttotal: 6.06s\tremaining: 5.66s\n",
      "1600:\ttest: 0.9046726\ttest1: 0.8720381\tbest: 0.8720381 (1600)\ttotal: 6.26s\tremaining: 5.47s\n",
      "1650:\ttest: 0.9050859\ttest1: 0.8720900\tbest: 0.8720900 (1650)\ttotal: 6.43s\tremaining: 5.26s\n",
      "1700:\ttest: 0.9054978\ttest1: 0.8721258\tbest: 0.8721258 (1700)\ttotal: 6.6s\tremaining: 5.04s\n",
      "1750:\ttest: 0.9059188\ttest1: 0.8722080\tbest: 0.8722080 (1750)\ttotal: 6.77s\tremaining: 4.83s\n",
      "1800:\ttest: 0.9063155\ttest1: 0.8722814\tbest: 0.8722814 (1800)\ttotal: 6.95s\tremaining: 4.63s\n",
      "1850:\ttest: 0.9066889\ttest1: 0.8724370\tbest: 0.8724370 (1850)\ttotal: 7.13s\tremaining: 4.42s\n",
      "1900:\ttest: 0.9070175\ttest1: 0.8723905\tbest: 0.8724370 (1850)\ttotal: 7.31s\tremaining: 4.22s\n",
      "1950:\ttest: 0.9074462\ttest1: 0.8725532\tbest: 0.8725532 (1950)\ttotal: 7.5s\tremaining: 4.03s\n",
      "2000:\ttest: 0.9078646\ttest1: 0.8725586\tbest: 0.8725586 (2000)\ttotal: 7.68s\tremaining: 3.83s\n",
      "2050:\ttest: 0.9082990\ttest1: 0.8726927\tbest: 0.8726927 (2050)\ttotal: 7.86s\tremaining: 3.63s\n",
      "2100:\ttest: 0.9088443\ttest1: 0.8728161\tbest: 0.8728161 (2100)\ttotal: 8.03s\tremaining: 3.44s\n",
      "2150:\ttest: 0.9092613\ttest1: 0.8729056\tbest: 0.8729056 (2150)\ttotal: 8.2s\tremaining: 3.24s\n",
      "2200:\ttest: 0.9097250\ttest1: 0.8729413\tbest: 0.8729413 (2200)\ttotal: 8.39s\tremaining: 3.04s\n",
      "2250:\ttest: 0.9101354\ttest1: 0.8731327\tbest: 0.8731327 (2250)\ttotal: 8.57s\tremaining: 2.85s\n",
      "2300:\ttest: 0.9105961\ttest1: 0.8733259\tbest: 0.8733259 (2300)\ttotal: 8.79s\tremaining: 2.67s\n",
      "2350:\ttest: 0.9110689\ttest1: 0.8734636\tbest: 0.8734636 (2350)\ttotal: 8.97s\tremaining: 2.48s\n",
      "2400:\ttest: 0.9114731\ttest1: 0.8735656\tbest: 0.8735656 (2400)\ttotal: 9.15s\tremaining: 2.28s\n",
      "2450:\ttest: 0.9119486\ttest1: 0.8736228\tbest: 0.8736228 (2450)\ttotal: 9.34s\tremaining: 2.09s\n",
      "2500:\ttest: 0.9124368\ttest1: 0.8737873\tbest: 0.8737873 (2500)\ttotal: 9.54s\tremaining: 1.9s\n",
      "2550:\ttest: 0.9129097\ttest1: 0.8739608\tbest: 0.8739608 (2550)\ttotal: 9.72s\tremaining: 1.71s\n",
      "2600:\ttest: 0.9134037\ttest1: 0.8740181\tbest: 0.8740181 (2600)\ttotal: 9.9s\tremaining: 1.52s\n",
      "2650:\ttest: 0.9138545\ttest1: 0.8740896\tbest: 0.8740896 (2650)\ttotal: 10.1s\tremaining: 1.33s\n",
      "2700:\ttest: 0.9142975\ttest1: 0.8741111\tbest: 0.8741111 (2700)\ttotal: 10.3s\tremaining: 1.14s\n",
      "2750:\ttest: 0.9147782\ttest1: 0.8742148\tbest: 0.8742148 (2750)\ttotal: 10.4s\tremaining: 946ms\n",
      "2800:\ttest: 0.9152065\ttest1: 0.8742488\tbest: 0.8742488 (2800)\ttotal: 10.6s\tremaining: 755ms\n",
      "2850:\ttest: 0.9156787\ttest1: 0.8743203\tbest: 0.8743203 (2850)\ttotal: 10.8s\tremaining: 564ms\n",
      "2900:\ttest: 0.9161247\ttest1: 0.8742881\tbest: 0.8743203 (2850)\ttotal: 11s\tremaining: 375ms\n",
      "2950:\ttest: 0.9165665\ttest1: 0.8742792\tbest: 0.8743203 (2850)\ttotal: 11.2s\tremaining: 185ms\n",
      "2999:\ttest: 0.9169708\ttest1: 0.8743543\tbest: 0.8743543 (2999)\ttotal: 11.3s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8743543241\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  1 AUC : 0.874354\n",
      "0:\ttest: 0.8532583\ttest1: 0.8340684\tbest: 0.8340684 (0)\ttotal: 3.9ms\tremaining: 11.7s\n",
      "50:\ttest: 0.8937539\ttest1: 0.8744742\tbest: 0.8744742 (50)\ttotal: 174ms\tremaining: 10.1s\n",
      "100:\ttest: 0.8932770\ttest1: 0.8747442\tbest: 0.8747442 (100)\ttotal: 350ms\tremaining: 10.1s\n",
      "150:\ttest: 0.8933914\ttest1: 0.8748515\tbest: 0.8748515 (150)\ttotal: 527ms\tremaining: 9.95s\n",
      "200:\ttest: 0.8928884\ttest1: 0.8745564\tbest: 0.8748515 (150)\ttotal: 705ms\tremaining: 9.82s\n",
      "250:\ttest: 0.8932463\ttest1: 0.8741969\tbest: 0.8748515 (150)\ttotal: 878ms\tremaining: 9.62s\n",
      "300:\ttest: 0.8934828\ttest1: 0.8738428\tbest: 0.8748515 (150)\ttotal: 1.05s\tremaining: 9.42s\n",
      "350:\ttest: 0.8935514\ttest1: 0.8736621\tbest: 0.8748515 (150)\ttotal: 1.22s\tremaining: 9.21s\n",
      "400:\ttest: 0.8937155\ttest1: 0.8735656\tbest: 0.8748515 (150)\ttotal: 1.4s\tremaining: 9.1s\n",
      "450:\ttest: 0.8939756\ttest1: 0.8737838\tbest: 0.8748515 (150)\ttotal: 1.57s\tremaining: 8.88s\n",
      "500:\ttest: 0.8944241\ttest1: 0.8738696\tbest: 0.8748515 (150)\ttotal: 1.75s\tremaining: 8.75s\n",
      "550:\ttest: 0.8946947\ttest1: 0.8740431\tbest: 0.8748515 (150)\ttotal: 1.93s\tremaining: 8.56s\n",
      "600:\ttest: 0.8949170\ttest1: 0.8744205\tbest: 0.8748515 (150)\ttotal: 2.12s\tremaining: 8.45s\n",
      "650:\ttest: 0.8951842\ttest1: 0.8747907\tbest: 0.8748515 (150)\ttotal: 2.29s\tremaining: 8.25s\n",
      "700:\ttest: 0.8954464\ttest1: 0.8747407\tbest: 0.8748515 (150)\ttotal: 2.46s\tremaining: 8.05s\n",
      "750:\ttest: 0.8956268\ttest1: 0.8749392\tbest: 0.8749392 (750)\ttotal: 2.63s\tremaining: 7.89s\n",
      "800:\ttest: 0.8960861\ttest1: 0.8750930\tbest: 0.8750930 (800)\ttotal: 2.81s\tremaining: 7.71s\n",
      "850:\ttest: 0.8964710\ttest1: 0.8753184\tbest: 0.8753184 (850)\ttotal: 3s\tremaining: 7.56s\n",
      "900:\ttest: 0.8968958\ttest1: 0.8755133\tbest: 0.8755133 (900)\ttotal: 3.18s\tremaining: 7.41s\n",
      "950:\ttest: 0.8972728\ttest1: 0.8756242\tbest: 0.8756242 (950)\ttotal: 3.36s\tremaining: 7.24s\n",
      "1000:\ttest: 0.8976405\ttest1: 0.8758102\tbest: 0.8758102 (1000)\ttotal: 3.54s\tremaining: 7.08s\n",
      "1050:\ttest: 0.8979828\ttest1: 0.8759515\tbest: 0.8759515 (1050)\ttotal: 3.72s\tremaining: 6.9s\n",
      "1100:\ttest: 0.8983776\ttest1: 0.8760517\tbest: 0.8760517 (1100)\ttotal: 3.9s\tremaining: 6.73s\n",
      "1150:\ttest: 0.8988536\ttest1: 0.8761912\tbest: 0.8761912 (1150)\ttotal: 4.08s\tremaining: 6.56s\n",
      "1200:\ttest: 0.8992426\ttest1: 0.8762556\tbest: 0.8762556 (1200)\ttotal: 4.26s\tremaining: 6.38s\n",
      "1250:\ttest: 0.8996863\ttest1: 0.8763969\tbest: 0.8763969 (1250)\ttotal: 4.45s\tremaining: 6.22s\n",
      "1300:\ttest: 0.9001819\ttest1: 0.8765811\tbest: 0.8765811 (1300)\ttotal: 4.63s\tremaining: 6.05s\n",
      "1350:\ttest: 0.9006299\ttest1: 0.8767385\tbest: 0.8767385 (1350)\ttotal: 4.8s\tremaining: 5.86s\n",
      "1400:\ttest: 0.9010451\ttest1: 0.8769102\tbest: 0.8769102 (1400)\ttotal: 4.98s\tremaining: 5.68s\n",
      "1450:\ttest: 0.9014808\ttest1: 0.8771695\tbest: 0.8771695 (1450)\ttotal: 5.16s\tremaining: 5.51s\n",
      "1500:\ttest: 0.9020148\ttest1: 0.8773305\tbest: 0.8773305 (1500)\ttotal: 5.33s\tremaining: 5.33s\n",
      "1550:\ttest: 0.9024663\ttest1: 0.8774700\tbest: 0.8774700 (1550)\ttotal: 5.52s\tremaining: 5.16s\n",
      "1600:\ttest: 0.9028950\ttest1: 0.8776507\tbest: 0.8776507 (1600)\ttotal: 5.69s\tremaining: 4.97s\n",
      "1650:\ttest: 0.9033441\ttest1: 0.8778152\tbest: 0.8778152 (1650)\ttotal: 5.87s\tremaining: 4.79s\n",
      "1700:\ttest: 0.9037769\ttest1: 0.8779762\tbest: 0.8779762 (1700)\ttotal: 6.05s\tremaining: 4.62s\n",
      "1750:\ttest: 0.9041752\ttest1: 0.8781264\tbest: 0.8781264 (1750)\ttotal: 6.22s\tremaining: 4.43s\n",
      "1800:\ttest: 0.9046461\ttest1: 0.8782463\tbest: 0.8782463 (1800)\ttotal: 6.38s\tremaining: 4.25s\n",
      "1850:\ttest: 0.9050801\ttest1: 0.8784072\tbest: 0.8784072 (1850)\ttotal: 6.57s\tremaining: 4.08s\n",
      "1900:\ttest: 0.9055177\ttest1: 0.8785432\tbest: 0.8785432 (1900)\ttotal: 6.74s\tremaining: 3.9s\n",
      "1950:\ttest: 0.9059139\ttest1: 0.8786755\tbest: 0.8786755 (1950)\ttotal: 6.93s\tremaining: 3.72s\n",
      "2000:\ttest: 0.9063007\ttest1: 0.8787739\tbest: 0.8787739 (2000)\ttotal: 7.1s\tremaining: 3.54s\n",
      "2050:\ttest: 0.9067317\ttest1: 0.8789116\tbest: 0.8789116 (2050)\ttotal: 7.26s\tremaining: 3.36s\n",
      "2100:\ttest: 0.9072192\ttest1: 0.8790923\tbest: 0.8790923 (2100)\ttotal: 7.43s\tremaining: 3.18s\n",
      "2150:\ttest: 0.9076961\ttest1: 0.8791048\tbest: 0.8791048 (2150)\ttotal: 7.61s\tremaining: 3s\n",
      "2200:\ttest: 0.9081650\ttest1: 0.8791209\tbest: 0.8791209 (2200)\ttotal: 7.78s\tremaining: 2.83s\n",
      "2250:\ttest: 0.9085699\ttest1: 0.8792658\tbest: 0.8792658 (2250)\ttotal: 7.96s\tremaining: 2.65s\n",
      "2300:\ttest: 0.9090289\ttest1: 0.8793784\tbest: 0.8793784 (2300)\ttotal: 8.13s\tremaining: 2.47s\n",
      "2350:\ttest: 0.9094324\ttest1: 0.8794732\tbest: 0.8794732 (2350)\ttotal: 8.31s\tremaining: 2.29s\n",
      "2400:\ttest: 0.9098372\ttest1: 0.8795662\tbest: 0.8795662 (2400)\ttotal: 8.48s\tremaining: 2.12s\n",
      "2450:\ttest: 0.9103334\ttest1: 0.8797040\tbest: 0.8797040 (2450)\ttotal: 8.66s\tremaining: 1.94s\n",
      "2500:\ttest: 0.9108007\ttest1: 0.8797809\tbest: 0.8797809 (2500)\ttotal: 8.84s\tremaining: 1.76s\n",
      "2550:\ttest: 0.9112097\ttest1: 0.8798918\tbest: 0.8798918 (2550)\ttotal: 9.02s\tremaining: 1.59s\n",
      "2600:\ttest: 0.9117041\ttest1: 0.8800009\tbest: 0.8800009 (2600)\ttotal: 9.19s\tremaining: 1.41s\n",
      "2650:\ttest: 0.9121605\ttest1: 0.8800509\tbest: 0.8800509 (2650)\ttotal: 9.37s\tremaining: 1.23s\n",
      "2700:\ttest: 0.9125768\ttest1: 0.8801100\tbest: 0.8801100 (2700)\ttotal: 9.56s\tremaining: 1.06s\n",
      "2750:\ttest: 0.9130553\ttest1: 0.8801350\tbest: 0.8801350 (2750)\ttotal: 9.73s\tremaining: 881ms\n",
      "2800:\ttest: 0.9134876\ttest1: 0.8802101\tbest: 0.8802101 (2800)\ttotal: 9.91s\tremaining: 704ms\n",
      "2850:\ttest: 0.9139270\ttest1: 0.8803103\tbest: 0.8803103 (2850)\ttotal: 10.1s\tremaining: 527ms\n",
      "2900:\ttest: 0.9143705\ttest1: 0.8804802\tbest: 0.8804802 (2900)\ttotal: 10.3s\tremaining: 350ms\n",
      "2950:\ttest: 0.9148084\ttest1: 0.8805428\tbest: 0.8805428 (2950)\ttotal: 10.4s\tremaining: 173ms\n",
      "2999:\ttest: 0.9152245\ttest1: 0.8807217\tbest: 0.8807217 (2999)\ttotal: 10.6s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8807216546\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  2 AUC : 0.880722\n",
      "0:\ttest: 0.8489881\ttest1: 0.8536751\tbest: 0.8536751 (0)\ttotal: 3.48ms\tremaining: 10.4s\n",
      "50:\ttest: 0.8942464\ttest1: 0.8790395\tbest: 0.8790395 (50)\ttotal: 172ms\tremaining: 9.97s\n",
      "100:\ttest: 0.8930705\ttest1: 0.8796855\tbest: 0.8796855 (100)\ttotal: 344ms\tremaining: 9.87s\n",
      "150:\ttest: 0.8932145\ttest1: 0.8808417\tbest: 0.8808417 (150)\ttotal: 511ms\tremaining: 9.65s\n",
      "200:\ttest: 0.8937427\ttest1: 0.8806026\tbest: 0.8808417 (150)\ttotal: 679ms\tremaining: 9.46s\n",
      "250:\ttest: 0.8938703\ttest1: 0.8805580\tbest: 0.8808417 (150)\ttotal: 853ms\tremaining: 9.34s\n",
      "300:\ttest: 0.8942540\ttest1: 0.8805223\tbest: 0.8808417 (150)\ttotal: 1.03s\tremaining: 9.2s\n",
      "350:\ttest: 0.8941082\ttest1: 0.8804206\tbest: 0.8808417 (150)\ttotal: 1.19s\tremaining: 9.02s\n",
      "400:\ttest: 0.8943333\ttest1: 0.8805705\tbest: 0.8808417 (150)\ttotal: 1.38s\tremaining: 8.93s\n",
      "450:\ttest: 0.8944802\ttest1: 0.8805366\tbest: 0.8808417 (150)\ttotal: 1.59s\tremaining: 8.99s\n",
      "500:\ttest: 0.8949207\ttest1: 0.8804563\tbest: 0.8808417 (150)\ttotal: 1.77s\tremaining: 8.85s\n",
      "550:\ttest: 0.8952949\ttest1: 0.8807739\tbest: 0.8808417 (150)\ttotal: 1.97s\tremaining: 8.74s\n",
      "600:\ttest: 0.8956595\ttest1: 0.8807454\tbest: 0.8808417 (150)\ttotal: 2.15s\tremaining: 8.6s\n",
      "650:\ttest: 0.8959742\ttest1: 0.8807614\tbest: 0.8808417 (150)\ttotal: 2.32s\tremaining: 8.39s\n",
      "700:\ttest: 0.8962781\ttest1: 0.8806169\tbest: 0.8808417 (150)\ttotal: 2.5s\tremaining: 8.22s\n",
      "750:\ttest: 0.8966245\ttest1: 0.8806258\tbest: 0.8808417 (150)\ttotal: 2.69s\tremaining: 8.05s\n",
      "800:\ttest: 0.8968984\ttest1: 0.8806187\tbest: 0.8808417 (150)\ttotal: 2.86s\tremaining: 7.85s\n",
      "850:\ttest: 0.8972957\ttest1: 0.8806990\tbest: 0.8808417 (150)\ttotal: 3.03s\tremaining: 7.66s\n",
      "900:\ttest: 0.8976526\ttest1: 0.8807132\tbest: 0.8808417 (150)\ttotal: 3.2s\tremaining: 7.45s\n",
      "950:\ttest: 0.8980644\ttest1: 0.8806793\tbest: 0.8808417 (150)\ttotal: 3.37s\tremaining: 7.25s\n",
      "1000:\ttest: 0.8984038\ttest1: 0.8806526\tbest: 0.8808417 (150)\ttotal: 3.55s\tremaining: 7.08s\n",
      "1050:\ttest: 0.8988303\ttest1: 0.8807097\tbest: 0.8808417 (150)\ttotal: 3.72s\tremaining: 6.91s\n",
      "1100:\ttest: 0.8992609\ttest1: 0.8808203\tbest: 0.8808417 (150)\ttotal: 3.9s\tremaining: 6.73s\n",
      "1150:\ttest: 0.8997772\ttest1: 0.8807971\tbest: 0.8808417 (150)\ttotal: 4.09s\tremaining: 6.58s\n",
      "1200:\ttest: 0.9000884\ttest1: 0.8808221\tbest: 0.8808417 (150)\ttotal: 4.26s\tremaining: 6.39s\n",
      "1250:\ttest: 0.9005889\ttest1: 0.8809202\tbest: 0.8809202 (1250)\ttotal: 4.43s\tremaining: 6.2s\n",
      "1300:\ttest: 0.9010338\ttest1: 0.8811022\tbest: 0.8811022 (1300)\ttotal: 4.62s\tremaining: 6.03s\n",
      "1350:\ttest: 0.9015456\ttest1: 0.8814359\tbest: 0.8814359 (1350)\ttotal: 4.8s\tremaining: 5.86s\n",
      "1400:\ttest: 0.9021514\ttest1: 0.8817696\tbest: 0.8817696 (1400)\ttotal: 4.97s\tremaining: 5.67s\n",
      "1450:\ttest: 0.9025798\ttest1: 0.8819016\tbest: 0.8819016 (1450)\ttotal: 5.15s\tremaining: 5.5s\n",
      "1500:\ttest: 0.9030369\ttest1: 0.8820818\tbest: 0.8820818 (1500)\ttotal: 5.35s\tremaining: 5.34s\n",
      "1550:\ttest: 0.9035405\ttest1: 0.8822906\tbest: 0.8822906 (1550)\ttotal: 5.53s\tremaining: 5.17s\n",
      "1600:\ttest: 0.9040368\ttest1: 0.8824869\tbest: 0.8824869 (1600)\ttotal: 5.7s\tremaining: 4.98s\n",
      "1650:\ttest: 0.9045044\ttest1: 0.8825654\tbest: 0.8825654 (1650)\ttotal: 5.88s\tremaining: 4.81s\n",
      "1700:\ttest: 0.9049289\ttest1: 0.8826707\tbest: 0.8826707 (1700)\ttotal: 6.05s\tremaining: 4.62s\n",
      "1750:\ttest: 0.9053166\ttest1: 0.8828009\tbest: 0.8828009 (1750)\ttotal: 6.22s\tremaining: 4.44s\n",
      "1800:\ttest: 0.9058183\ttest1: 0.8829811\tbest: 0.8829811 (1800)\ttotal: 6.4s\tremaining: 4.26s\n",
      "1850:\ttest: 0.9062693\ttest1: 0.8830525\tbest: 0.8830525 (1850)\ttotal: 6.6s\tremaining: 4.1s\n",
      "1900:\ttest: 0.9068030\ttest1: 0.8832220\tbest: 0.8832220 (1900)\ttotal: 6.78s\tremaining: 3.92s\n",
      "1950:\ttest: 0.9072577\ttest1: 0.8832987\tbest: 0.8832987 (1950)\ttotal: 6.95s\tremaining: 3.74s\n",
      "2000:\ttest: 0.9077250\ttest1: 0.8833576\tbest: 0.8833576 (2000)\ttotal: 7.12s\tremaining: 3.55s\n",
      "2050:\ttest: 0.9081912\ttest1: 0.8835682\tbest: 0.8835682 (2050)\ttotal: 7.29s\tremaining: 3.37s\n",
      "2100:\ttest: 0.9085990\ttest1: 0.8835610\tbest: 0.8835682 (2050)\ttotal: 7.47s\tremaining: 3.2s\n",
      "2150:\ttest: 0.9090353\ttest1: 0.8836485\tbest: 0.8836485 (2150)\ttotal: 7.65s\tremaining: 3.02s\n",
      "2200:\ttest: 0.9095138\ttest1: 0.8836842\tbest: 0.8836842 (2200)\ttotal: 7.83s\tremaining: 2.84s\n",
      "2250:\ttest: 0.9099969\ttest1: 0.8837912\tbest: 0.8837912 (2250)\ttotal: 8.01s\tremaining: 2.67s\n",
      "2300:\ttest: 0.9105304\ttest1: 0.8838715\tbest: 0.8838715 (2300)\ttotal: 8.21s\tremaining: 2.5s\n",
      "2350:\ttest: 0.9109579\ttest1: 0.8839768\tbest: 0.8839768 (2350)\ttotal: 8.39s\tremaining: 2.32s\n",
      "2400:\ttest: 0.9113227\ttest1: 0.8840642\tbest: 0.8840642 (2400)\ttotal: 8.58s\tremaining: 2.14s\n",
      "2450:\ttest: 0.9116979\ttest1: 0.8840856\tbest: 0.8840856 (2450)\ttotal: 8.75s\tremaining: 1.96s\n",
      "2500:\ttest: 0.9120876\ttest1: 0.8841838\tbest: 0.8841838 (2500)\ttotal: 8.92s\tremaining: 1.78s\n",
      "2550:\ttest: 0.9125132\ttest1: 0.8842694\tbest: 0.8842694 (2550)\ttotal: 9.09s\tremaining: 1.6s\n",
      "2600:\ttest: 0.9129610\ttest1: 0.8842855\tbest: 0.8842855 (2600)\ttotal: 9.26s\tremaining: 1.42s\n",
      "2650:\ttest: 0.9133173\ttest1: 0.8843551\tbest: 0.8843551 (2650)\ttotal: 9.44s\tremaining: 1.24s\n",
      "2700:\ttest: 0.9137857\ttest1: 0.8843479\tbest: 0.8843551 (2650)\ttotal: 9.62s\tremaining: 1.06s\n",
      "2750:\ttest: 0.9142047\ttest1: 0.8844086\tbest: 0.8844086 (2750)\ttotal: 9.81s\tremaining: 888ms\n",
      "2800:\ttest: 0.9145746\ttest1: 0.8844586\tbest: 0.8844586 (2800)\ttotal: 9.98s\tremaining: 709ms\n",
      "2850:\ttest: 0.9149692\ttest1: 0.8844889\tbest: 0.8844889 (2850)\ttotal: 10.2s\tremaining: 531ms\n",
      "2900:\ttest: 0.9153755\ttest1: 0.8845406\tbest: 0.8845406 (2900)\ttotal: 10.3s\tremaining: 353ms\n",
      "2950:\ttest: 0.9157801\ttest1: 0.8845192\tbest: 0.8845406 (2900)\ttotal: 10.5s\tremaining: 174ms\n",
      "2999:\ttest: 0.9161615\ttest1: 0.8845710\tbest: 0.8845710 (2999)\ttotal: 10.7s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.884570982\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  3 AUC : 0.884571\n",
      "0:\ttest: 0.8566933\ttest1: 0.8399633\tbest: 0.8399633 (0)\ttotal: 3.76ms\tremaining: 11.3s\n",
      "50:\ttest: 0.8963203\ttest1: 0.8754030\tbest: 0.8754030 (50)\ttotal: 183ms\tremaining: 10.6s\n",
      "100:\ttest: 0.8963118\ttest1: 0.8761043\tbest: 0.8761043 (100)\ttotal: 361ms\tremaining: 10.4s\n",
      "150:\ttest: 0.8966493\ttest1: 0.8762274\tbest: 0.8762274 (150)\ttotal: 526ms\tremaining: 9.93s\n",
      "200:\ttest: 0.8971836\ttest1: 0.8764112\tbest: 0.8764112 (200)\ttotal: 696ms\tremaining: 9.7s\n",
      "250:\ttest: 0.8974406\ttest1: 0.8763166\tbest: 0.8764112 (200)\ttotal: 872ms\tremaining: 9.55s\n",
      "300:\ttest: 0.8976346\ttest1: 0.8766414\tbest: 0.8766414 (300)\ttotal: 1.05s\tremaining: 9.44s\n",
      "350:\ttest: 0.8979444\ttest1: 0.8763844\tbest: 0.8766414 (300)\ttotal: 1.23s\tremaining: 9.3s\n",
      "400:\ttest: 0.8980902\ttest1: 0.8763113\tbest: 0.8766414 (300)\ttotal: 1.42s\tremaining: 9.23s\n",
      "450:\ttest: 0.8985538\ttest1: 0.8761596\tbest: 0.8766414 (300)\ttotal: 1.61s\tremaining: 9.1s\n",
      "500:\ttest: 0.8986807\ttest1: 0.8759080\tbest: 0.8766414 (300)\ttotal: 1.78s\tremaining: 8.89s\n",
      "550:\ttest: 0.8989542\ttest1: 0.8757581\tbest: 0.8766414 (300)\ttotal: 1.96s\tremaining: 8.7s\n",
      "600:\ttest: 0.8989584\ttest1: 0.8755815\tbest: 0.8766414 (300)\ttotal: 2.13s\tremaining: 8.52s\n",
      "650:\ttest: 0.8992345\ttest1: 0.8754976\tbest: 0.8766414 (300)\ttotal: 2.32s\tremaining: 8.36s\n",
      "700:\ttest: 0.8992859\ttest1: 0.8752514\tbest: 0.8766414 (300)\ttotal: 2.5s\tremaining: 8.19s\n",
      "750:\ttest: 0.8994867\ttest1: 0.8749248\tbest: 0.8766414 (300)\ttotal: 2.68s\tremaining: 8.02s\n",
      "800:\ttest: 0.8999862\ttest1: 0.8749873\tbest: 0.8766414 (300)\ttotal: 2.86s\tremaining: 7.84s\n",
      "850:\ttest: 0.9003494\ttest1: 0.8748303\tbest: 0.8766414 (300)\ttotal: 3.03s\tremaining: 7.66s\n",
      "900:\ttest: 0.9007888\ttest1: 0.8747803\tbest: 0.8766414 (300)\ttotal: 3.22s\tremaining: 7.5s\n",
      "950:\ttest: 0.9011483\ttest1: 0.8748178\tbest: 0.8766414 (300)\ttotal: 3.4s\tremaining: 7.32s\n",
      "1000:\ttest: 0.9015146\ttest1: 0.8747892\tbest: 0.8766414 (300)\ttotal: 3.58s\tremaining: 7.16s\n",
      "1050:\ttest: 0.9019300\ttest1: 0.8746429\tbest: 0.8766414 (300)\ttotal: 3.77s\tremaining: 6.99s\n",
      "1100:\ttest: 0.9023771\ttest1: 0.8744734\tbest: 0.8766414 (300)\ttotal: 3.98s\tremaining: 6.87s\n",
      "1150:\ttest: 0.9027311\ttest1: 0.8746286\tbest: 0.8766414 (300)\ttotal: 4.28s\tremaining: 6.87s\n",
      "1200:\ttest: 0.9030894\ttest1: 0.8746554\tbest: 0.8766414 (300)\ttotal: 4.49s\tremaining: 6.72s\n",
      "1250:\ttest: 0.9035683\ttest1: 0.8746572\tbest: 0.8766414 (300)\ttotal: 4.69s\tremaining: 6.55s\n",
      "1300:\ttest: 0.9038979\ttest1: 0.8747339\tbest: 0.8766414 (300)\ttotal: 4.89s\tremaining: 6.39s\n",
      "1350:\ttest: 0.9043122\ttest1: 0.8749141\tbest: 0.8766414 (300)\ttotal: 5.1s\tremaining: 6.23s\n",
      "1400:\ttest: 0.9048592\ttest1: 0.8749998\tbest: 0.8766414 (300)\ttotal: 5.29s\tremaining: 6.04s\n",
      "1450:\ttest: 0.9053019\ttest1: 0.8749766\tbest: 0.8766414 (300)\ttotal: 5.51s\tremaining: 5.88s\n",
      "1500:\ttest: 0.9056631\ttest1: 0.8749659\tbest: 0.8766414 (300)\ttotal: 5.72s\tremaining: 5.71s\n",
      "1550:\ttest: 0.9060582\ttest1: 0.8750069\tbest: 0.8766414 (300)\ttotal: 5.92s\tremaining: 5.54s\n",
      "1600:\ttest: 0.9064119\ttest1: 0.8750783\tbest: 0.8766414 (300)\ttotal: 6.12s\tremaining: 5.35s\n",
      "1650:\ttest: 0.9068648\ttest1: 0.8751907\tbest: 0.8766414 (300)\ttotal: 6.33s\tremaining: 5.17s\n",
      "1700:\ttest: 0.9073253\ttest1: 0.8750872\tbest: 0.8766414 (300)\ttotal: 6.53s\tremaining: 4.99s\n",
      "1750:\ttest: 0.9077569\ttest1: 0.8751068\tbest: 0.8766414 (300)\ttotal: 6.72s\tremaining: 4.79s\n",
      "1800:\ttest: 0.9081792\ttest1: 0.8751282\tbest: 0.8766414 (300)\ttotal: 6.92s\tremaining: 4.6s\n",
      "1850:\ttest: 0.9086144\ttest1: 0.8752567\tbest: 0.8766414 (300)\ttotal: 7.12s\tremaining: 4.42s\n",
      "1900:\ttest: 0.9089485\ttest1: 0.8751443\tbest: 0.8766414 (300)\ttotal: 7.34s\tremaining: 4.25s\n",
      "1950:\ttest: 0.9093505\ttest1: 0.8750712\tbest: 0.8766414 (300)\ttotal: 7.54s\tremaining: 4.05s\n",
      "2000:\ttest: 0.9097481\ttest1: 0.8750408\tbest: 0.8766414 (300)\ttotal: 7.74s\tremaining: 3.87s\n",
      "2050:\ttest: 0.9101436\ttest1: 0.8751051\tbest: 0.8766414 (300)\ttotal: 7.94s\tremaining: 3.67s\n",
      "2100:\ttest: 0.9105477\ttest1: 0.8751729\tbest: 0.8766414 (300)\ttotal: 8.14s\tremaining: 3.48s\n",
      "2150:\ttest: 0.9108983\ttest1: 0.8751836\tbest: 0.8766414 (300)\ttotal: 8.33s\tremaining: 3.29s\n",
      "2200:\ttest: 0.9113019\ttest1: 0.8751889\tbest: 0.8766414 (300)\ttotal: 8.54s\tremaining: 3.1s\n",
      "2250:\ttest: 0.9117947\ttest1: 0.8751746\tbest: 0.8766414 (300)\ttotal: 8.74s\tremaining: 2.91s\n",
      "2300:\ttest: 0.9122133\ttest1: 0.8751104\tbest: 0.8766414 (300)\ttotal: 8.96s\tremaining: 2.72s\n",
      "2350:\ttest: 0.9126752\ttest1: 0.8751514\tbest: 0.8766414 (300)\ttotal: 9.18s\tremaining: 2.53s\n",
      "2400:\ttest: 0.9130858\ttest1: 0.8751372\tbest: 0.8766414 (300)\ttotal: 9.39s\tremaining: 2.34s\n",
      "2450:\ttest: 0.9135493\ttest1: 0.8751871\tbest: 0.8766414 (300)\ttotal: 9.62s\tremaining: 2.15s\n",
      "2500:\ttest: 0.9139697\ttest1: 0.8752139\tbest: 0.8766414 (300)\ttotal: 9.79s\tremaining: 1.95s\n",
      "2550:\ttest: 0.9143863\ttest1: 0.8752228\tbest: 0.8766414 (300)\ttotal: 9.98s\tremaining: 1.76s\n",
      "2600:\ttest: 0.9147815\ttest1: 0.8752282\tbest: 0.8766414 (300)\ttotal: 10.2s\tremaining: 1.56s\n",
      "2650:\ttest: 0.9152126\ttest1: 0.8752335\tbest: 0.8766414 (300)\ttotal: 10.3s\tremaining: 1.36s\n",
      "2700:\ttest: 0.9156379\ttest1: 0.8752085\tbest: 0.8766414 (300)\ttotal: 10.5s\tremaining: 1.17s\n",
      "2750:\ttest: 0.9160250\ttest1: 0.8751586\tbest: 0.8766414 (300)\ttotal: 10.7s\tremaining: 971ms\n",
      "2800:\ttest: 0.9163871\ttest1: 0.8751354\tbest: 0.8766414 (300)\ttotal: 10.9s\tremaining: 774ms\n",
      "2850:\ttest: 0.9167779\ttest1: 0.8751622\tbest: 0.8766414 (300)\ttotal: 11.1s\tremaining: 578ms\n",
      "2900:\ttest: 0.9171083\ttest1: 0.8751657\tbest: 0.8766414 (300)\ttotal: 11.2s\tremaining: 383ms\n",
      "2950:\ttest: 0.9175072\ttest1: 0.8751836\tbest: 0.8766414 (300)\ttotal: 11.4s\tremaining: 190ms\n",
      "2999:\ttest: 0.9178704\ttest1: 0.8752371\tbest: 0.8766414 (300)\ttotal: 11.6s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8766413707\n",
      "bestIteration = 300\n",
      "\n",
      "Shrink model to first 301 iterations.\n",
      "Fold  4 AUC : 0.876641\n",
      "0:\ttest: 0.8569447\ttest1: 0.8559957\tbest: 0.8559957 (0)\ttotal: 4.7ms\tremaining: 14.1s\n",
      "50:\ttest: 0.8921392\ttest1: 0.8805419\tbest: 0.8805419 (50)\ttotal: 178ms\tremaining: 10.3s\n",
      "100:\ttest: 0.8921365\ttest1: 0.8789628\tbest: 0.8805419 (50)\ttotal: 357ms\tremaining: 10.2s\n",
      "150:\ttest: 0.8923381\ttest1: 0.8799852\tbest: 0.8805419 (50)\ttotal: 533ms\tremaining: 10.1s\n",
      "200:\ttest: 0.8927365\ttest1: 0.8804028\tbest: 0.8805419 (50)\ttotal: 710ms\tremaining: 9.89s\n",
      "250:\ttest: 0.8927595\ttest1: 0.8802154\tbest: 0.8805419 (50)\ttotal: 880ms\tremaining: 9.64s\n",
      "300:\ttest: 0.8928499\ttest1: 0.8802511\tbest: 0.8805419 (50)\ttotal: 1.07s\tremaining: 9.58s\n",
      "350:\ttest: 0.8932028\ttest1: 0.8800655\tbest: 0.8805419 (50)\ttotal: 1.25s\tremaining: 9.42s\n",
      "400:\ttest: 0.8933804\ttest1: 0.8801440\tbest: 0.8805419 (50)\ttotal: 1.44s\tremaining: 9.31s\n",
      "450:\ttest: 0.8937380\ttest1: 0.8801637\tbest: 0.8805419 (50)\ttotal: 1.63s\tremaining: 9.19s\n",
      "500:\ttest: 0.8939013\ttest1: 0.8802547\tbest: 0.8805419 (50)\ttotal: 1.81s\tremaining: 9.05s\n",
      "550:\ttest: 0.8941744\ttest1: 0.8804866\tbest: 0.8805419 (50)\ttotal: 1.99s\tremaining: 8.84s\n",
      "600:\ttest: 0.8946574\ttest1: 0.8804438\tbest: 0.8805419 (50)\ttotal: 2.17s\tremaining: 8.65s\n",
      "650:\ttest: 0.8948726\ttest1: 0.8804563\tbest: 0.8805419 (50)\ttotal: 2.34s\tremaining: 8.45s\n",
      "700:\ttest: 0.8950948\ttest1: 0.8803635\tbest: 0.8805419 (50)\ttotal: 2.52s\tremaining: 8.26s\n",
      "750:\ttest: 0.8955840\ttest1: 0.8805776\tbest: 0.8805776 (750)\ttotal: 2.69s\tremaining: 8.06s\n",
      "800:\ttest: 0.8959884\ttest1: 0.8807079\tbest: 0.8807079 (800)\ttotal: 2.86s\tremaining: 7.85s\n",
      "850:\ttest: 0.8963964\ttest1: 0.8807882\tbest: 0.8807882 (850)\ttotal: 3.05s\tremaining: 7.7s\n",
      "900:\ttest: 0.8967207\ttest1: 0.8806883\tbest: 0.8807882 (850)\ttotal: 3.22s\tremaining: 7.5s\n",
      "950:\ttest: 0.8970761\ttest1: 0.8807632\tbest: 0.8807882 (850)\ttotal: 3.42s\tremaining: 7.37s\n",
      "1000:\ttest: 0.8975257\ttest1: 0.8809309\tbest: 0.8809309 (1000)\ttotal: 3.64s\tremaining: 7.28s\n",
      "1050:\ttest: 0.8978890\ttest1: 0.8810772\tbest: 0.8810772 (1050)\ttotal: 3.83s\tremaining: 7.11s\n",
      "1100:\ttest: 0.8983728\ttest1: 0.8812039\tbest: 0.8812039 (1100)\ttotal: 4.03s\tremaining: 6.96s\n",
      "1150:\ttest: 0.8988703\ttest1: 0.8813128\tbest: 0.8813128 (1150)\ttotal: 4.21s\tremaining: 6.76s\n",
      "1200:\ttest: 0.8993432\ttest1: 0.8814680\tbest: 0.8814680 (1200)\ttotal: 4.37s\tremaining: 6.55s\n",
      "1250:\ttest: 0.8997627\ttest1: 0.8815590\tbest: 0.8815590 (1250)\ttotal: 4.6s\tremaining: 6.44s\n",
      "1300:\ttest: 0.9001829\ttest1: 0.8816393\tbest: 0.8816393 (1300)\ttotal: 4.78s\tremaining: 6.24s\n",
      "1350:\ttest: 0.9007028\ttest1: 0.8816197\tbest: 0.8816393 (1300)\ttotal: 4.97s\tremaining: 6.06s\n",
      "1400:\ttest: 0.9011444\ttest1: 0.8817856\tbest: 0.8817856 (1400)\ttotal: 5.15s\tremaining: 5.88s\n",
      "1450:\ttest: 0.9015275\ttest1: 0.8819087\tbest: 0.8819087 (1450)\ttotal: 5.35s\tremaining: 5.71s\n",
      "1500:\ttest: 0.9019185\ttest1: 0.8819480\tbest: 0.8819480 (1500)\ttotal: 5.54s\tremaining: 5.53s\n",
      "1550:\ttest: 0.9023451\ttest1: 0.8820800\tbest: 0.8820800 (1550)\ttotal: 5.74s\tremaining: 5.36s\n",
      "1600:\ttest: 0.9028002\ttest1: 0.8821996\tbest: 0.8821996 (1600)\ttotal: 5.9s\tremaining: 5.15s\n",
      "1650:\ttest: 0.9032183\ttest1: 0.8823495\tbest: 0.8823495 (1650)\ttotal: 6.07s\tremaining: 4.96s\n",
      "1700:\ttest: 0.9036739\ttest1: 0.8824851\tbest: 0.8824851 (1700)\ttotal: 6.24s\tremaining: 4.76s\n",
      "1750:\ttest: 0.9041243\ttest1: 0.8826100\tbest: 0.8826100 (1750)\ttotal: 6.44s\tremaining: 4.59s\n",
      "1800:\ttest: 0.9045499\ttest1: 0.8827599\tbest: 0.8827599 (1800)\ttotal: 6.61s\tremaining: 4.4s\n",
      "1850:\ttest: 0.9048963\ttest1: 0.8828205\tbest: 0.8828205 (1850)\ttotal: 6.81s\tremaining: 4.23s\n",
      "1900:\ttest: 0.9053345\ttest1: 0.8828223\tbest: 0.8828223 (1900)\ttotal: 6.98s\tremaining: 4.03s\n",
      "1950:\ttest: 0.9058160\ttest1: 0.8828562\tbest: 0.8828562 (1950)\ttotal: 7.17s\tremaining: 3.85s\n",
      "2000:\ttest: 0.9063056\ttest1: 0.8828883\tbest: 0.8828883 (2000)\ttotal: 7.34s\tremaining: 3.66s\n",
      "2050:\ttest: 0.9066466\ttest1: 0.8829651\tbest: 0.8829651 (2050)\ttotal: 7.52s\tremaining: 3.48s\n",
      "2100:\ttest: 0.9070837\ttest1: 0.8830382\tbest: 0.8830382 (2100)\ttotal: 7.74s\tremaining: 3.31s\n",
      "2150:\ttest: 0.9075765\ttest1: 0.8831346\tbest: 0.8831346 (2150)\ttotal: 7.94s\tremaining: 3.13s\n",
      "2200:\ttest: 0.9080844\ttest1: 0.8831649\tbest: 0.8831649 (2200)\ttotal: 8.13s\tremaining: 2.95s\n",
      "2250:\ttest: 0.9084910\ttest1: 0.8832131\tbest: 0.8832131 (2250)\ttotal: 8.32s\tremaining: 2.77s\n",
      "2300:\ttest: 0.9090430\ttest1: 0.8833095\tbest: 0.8833095 (2300)\ttotal: 8.54s\tremaining: 2.59s\n",
      "2350:\ttest: 0.9094281\ttest1: 0.8833487\tbest: 0.8833487 (2350)\ttotal: 8.73s\tremaining: 2.41s\n",
      "2400:\ttest: 0.9098683\ttest1: 0.8834718\tbest: 0.8834718 (2400)\ttotal: 8.92s\tremaining: 2.22s\n",
      "2450:\ttest: 0.9103167\ttest1: 0.8835610\tbest: 0.8835610 (2450)\ttotal: 9.11s\tremaining: 2.04s\n",
      "2500:\ttest: 0.9107333\ttest1: 0.8835200\tbest: 0.8835610 (2450)\ttotal: 9.36s\tremaining: 1.87s\n",
      "2550:\ttest: 0.9111739\ttest1: 0.8836110\tbest: 0.8836110 (2550)\ttotal: 9.55s\tremaining: 1.68s\n",
      "2600:\ttest: 0.9115998\ttest1: 0.8837145\tbest: 0.8837145 (2600)\ttotal: 9.75s\tremaining: 1.5s\n",
      "2650:\ttest: 0.9120367\ttest1: 0.8837645\tbest: 0.8837645 (2650)\ttotal: 9.91s\tremaining: 1.3s\n",
      "2700:\ttest: 0.9124493\ttest1: 0.8838055\tbest: 0.8838055 (2700)\ttotal: 10.1s\tremaining: 1.12s\n",
      "2750:\ttest: 0.9128720\ttest1: 0.8838715\tbest: 0.8838715 (2750)\ttotal: 10.3s\tremaining: 929ms\n",
      "2800:\ttest: 0.9133078\ttest1: 0.8838376\tbest: 0.8838715 (2750)\ttotal: 10.5s\tremaining: 743ms\n",
      "2850:\ttest: 0.9137534\ttest1: 0.8838001\tbest: 0.8838715 (2750)\ttotal: 10.6s\tremaining: 556ms\n",
      "2900:\ttest: 0.9142322\ttest1: 0.8838751\tbest: 0.8838751 (2900)\ttotal: 10.8s\tremaining: 369ms\n",
      "2950:\ttest: 0.9146528\ttest1: 0.8839750\tbest: 0.8839750 (2950)\ttotal: 11s\tremaining: 182ms\n",
      "2999:\ttest: 0.9150720\ttest1: 0.8839590\tbest: 0.8839750 (2950)\ttotal: 11.2s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8839750121\n",
      "bestIteration = 2950\n",
      "\n",
      "Shrink model to first 2951 iterations.\n",
      "Fold  5 AUC : 0.883975\n",
      "Full AUC score 0.861963\n"
     ]
    }
   ],
   "source": [
    "# 处理过精度后, 用分层采样, 模型catboost\n",
    "y = train_data['isDefault']\n",
    "# folds = KFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "folds = StratifiedKFold(n_splits=5, shuffle=True, random_state=546789) # Need to update train_model()\n",
    "\n",
    "oof_preds, IntePre, importances = train_model(train_data, data_cols_train_inte_public_same, y, folds)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0:\ttest: 0.8583827\ttest1: 0.8315698\tbest: 0.8315698 (0)\ttotal: 61ms\tremaining: 3m 2s\n",
      "50:\ttest: 0.9001962\ttest1: 0.8727160\tbest: 0.8727160 (50)\ttotal: 273ms\tremaining: 15.8s\n",
      "100:\ttest: 0.9016292\ttest1: 0.8762305\tbest: 0.8762305 (100)\ttotal: 465ms\tremaining: 13.3s\n",
      "150:\ttest: 0.9016939\ttest1: 0.8763826\tbest: 0.8763826 (150)\ttotal: 751ms\tremaining: 14.2s\n",
      "200:\ttest: 0.9023084\ttest1: 0.8781604\tbest: 0.8781604 (200)\ttotal: 938ms\tremaining: 13.1s\n",
      "250:\ttest: 0.9029301\ttest1: 0.8792711\tbest: 0.8792711 (250)\ttotal: 1.14s\tremaining: 12.5s\n",
      "300:\ttest: 0.9030767\ttest1: 0.8794178\tbest: 0.8794178 (300)\ttotal: 1.33s\tremaining: 11.9s\n",
      "350:\ttest: 0.9034329\ttest1: 0.8800134\tbest: 0.8800134 (350)\ttotal: 1.53s\tremaining: 11.5s\n",
      "400:\ttest: 0.9039644\ttest1: 0.8806859\tbest: 0.8806859 (400)\ttotal: 1.73s\tremaining: 11.2s\n",
      "450:\ttest: 0.9041918\ttest1: 0.8812976\tbest: 0.8812976 (450)\ttotal: 1.95s\tremaining: 11s\n",
      "500:\ttest: 0.9046737\ttest1: 0.8820631\tbest: 0.8820631 (500)\ttotal: 2.14s\tremaining: 10.7s\n",
      "550:\ttest: 0.9053810\ttest1: 0.8828858\tbest: 0.8828858 (550)\ttotal: 2.34s\tremaining: 10.4s\n",
      "600:\ttest: 0.9059403\ttest1: 0.8837157\tbest: 0.8837157 (600)\ttotal: 2.52s\tremaining: 10s\n",
      "650:\ttest: 0.9062531\ttest1: 0.8842577\tbest: 0.8842577 (650)\ttotal: 2.73s\tremaining: 9.83s\n",
      "700:\ttest: 0.9064250\ttest1: 0.8844687\tbest: 0.8844687 (700)\ttotal: 2.9s\tremaining: 9.52s\n",
      "750:\ttest: 0.9070372\ttest1: 0.8852682\tbest: 0.8852682 (750)\ttotal: 3.12s\tremaining: 9.34s\n",
      "800:\ttest: 0.9077063\ttest1: 0.8860462\tbest: 0.8860462 (800)\ttotal: 3.29s\tremaining: 9.03s\n",
      "850:\ttest: 0.9081156\ttest1: 0.8863396\tbest: 0.8863396 (850)\ttotal: 3.48s\tremaining: 8.8s\n",
      "900:\ttest: 0.9086487\ttest1: 0.8867044\tbest: 0.8867044 (900)\ttotal: 3.69s\tremaining: 8.59s\n",
      "950:\ttest: 0.9092715\ttest1: 0.8874914\tbest: 0.8874914 (950)\ttotal: 3.88s\tremaining: 8.36s\n",
      "1000:\ttest: 0.9097357\ttest1: 0.8880620\tbest: 0.8880620 (1000)\ttotal: 4.07s\tremaining: 8.13s\n",
      "1050:\ttest: 0.9102514\ttest1: 0.8884519\tbest: 0.8884519 (1050)\ttotal: 4.27s\tremaining: 7.92s\n",
      "1100:\ttest: 0.9108810\ttest1: 0.8891029\tbest: 0.8891029 (1100)\ttotal: 4.46s\tremaining: 7.69s\n",
      "1150:\ttest: 0.9114764\ttest1: 0.8896592\tbest: 0.8896592 (1150)\ttotal: 4.64s\tremaining: 7.45s\n",
      "1200:\ttest: 0.9120989\ttest1: 0.8902261\tbest: 0.8902261 (1200)\ttotal: 4.83s\tremaining: 7.23s\n",
      "1250:\ttest: 0.9125986\ttest1: 0.8907967\tbest: 0.8907967 (1250)\ttotal: 5.07s\tremaining: 7.09s\n",
      "1300:\ttest: 0.9131117\ttest1: 0.8911920\tbest: 0.8911920 (1300)\ttotal: 5.27s\tremaining: 6.88s\n",
      "1350:\ttest: 0.9136484\ttest1: 0.8915014\tbest: 0.8915014 (1350)\ttotal: 5.46s\tremaining: 6.66s\n",
      "1400:\ttest: 0.9142545\ttest1: 0.8920290\tbest: 0.8920290 (1400)\ttotal: 5.65s\tremaining: 6.45s\n",
      "1450:\ttest: 0.9146629\ttest1: 0.8923116\tbest: 0.8923116 (1450)\ttotal: 5.85s\tremaining: 6.24s\n",
      "1500:\ttest: 0.9151068\ttest1: 0.8925656\tbest: 0.8925656 (1500)\ttotal: 6.05s\tremaining: 6.04s\n",
      "1550:\ttest: 0.9156003\ttest1: 0.8927731\tbest: 0.8927731 (1550)\ttotal: 6.24s\tremaining: 5.83s\n",
      "1600:\ttest: 0.9160508\ttest1: 0.8930539\tbest: 0.8930539 (1600)\ttotal: 6.43s\tremaining: 5.62s\n",
      "1650:\ttest: 0.9164658\ttest1: 0.8933723\tbest: 0.8933723 (1650)\ttotal: 6.63s\tremaining: 5.42s\n",
      "1700:\ttest: 0.9169640\ttest1: 0.8936674\tbest: 0.8936674 (1700)\ttotal: 6.82s\tremaining: 5.21s\n",
      "1750:\ttest: 0.9175054\ttest1: 0.8940465\tbest: 0.8940465 (1750)\ttotal: 7.01s\tremaining: 5s\n",
      "1800:\ttest: 0.9179388\ttest1: 0.8943667\tbest: 0.8943667 (1800)\ttotal: 7.21s\tremaining: 4.8s\n",
      "1850:\ttest: 0.9183953\ttest1: 0.8946243\tbest: 0.8946243 (1850)\ttotal: 7.41s\tremaining: 4.6s\n",
      "1900:\ttest: 0.9188424\ttest1: 0.8948747\tbest: 0.8948747 (1900)\ttotal: 7.6s\tremaining: 4.4s\n",
      "1950:\ttest: 0.9192694\ttest1: 0.8950714\tbest: 0.8950714 (1950)\ttotal: 7.79s\tremaining: 4.19s\n",
      "2000:\ttest: 0.9197167\ttest1: 0.8952807\tbest: 0.8952807 (2000)\ttotal: 7.98s\tremaining: 3.98s\n",
      "2050:\ttest: 0.9201653\ttest1: 0.8954720\tbest: 0.8954720 (2050)\ttotal: 8.19s\tremaining: 3.79s\n",
      "2100:\ttest: 0.9205862\ttest1: 0.8956849\tbest: 0.8956849 (2100)\ttotal: 8.38s\tremaining: 3.58s\n",
      "2150:\ttest: 0.9210520\ttest1: 0.8958727\tbest: 0.8958727 (2150)\ttotal: 8.57s\tremaining: 3.38s\n",
      "2200:\ttest: 0.9214383\ttest1: 0.8958244\tbest: 0.8958727 (2150)\ttotal: 8.76s\tremaining: 3.18s\n",
      "2250:\ttest: 0.9219429\ttest1: 0.8959907\tbest: 0.8959907 (2250)\ttotal: 8.95s\tremaining: 2.98s\n",
      "2300:\ttest: 0.9223340\ttest1: 0.8960909\tbest: 0.8960909 (2300)\ttotal: 9.14s\tremaining: 2.78s\n",
      "2350:\ttest: 0.9227793\ttest1: 0.8962465\tbest: 0.8962465 (2350)\ttotal: 9.34s\tremaining: 2.58s\n",
      "2400:\ttest: 0.9232453\ttest1: 0.8963717\tbest: 0.8963717 (2400)\ttotal: 9.54s\tremaining: 2.38s\n",
      "2450:\ttest: 0.9236971\ttest1: 0.8965148\tbest: 0.8965148 (2450)\ttotal: 9.74s\tremaining: 2.18s\n",
      "2500:\ttest: 0.9241423\ttest1: 0.8966668\tbest: 0.8966668 (2500)\ttotal: 9.91s\tremaining: 1.98s\n",
      "2550:\ttest: 0.9245637\ttest1: 0.8967902\tbest: 0.8967902 (2550)\ttotal: 10.1s\tremaining: 1.78s\n",
      "2600:\ttest: 0.9249690\ttest1: 0.8968475\tbest: 0.8968475 (2600)\ttotal: 10.3s\tremaining: 1.58s\n",
      "2650:\ttest: 0.9253491\ttest1: 0.8968993\tbest: 0.8968993 (2650)\ttotal: 10.5s\tremaining: 1.38s\n",
      "2700:\ttest: 0.9257232\ttest1: 0.8969029\tbest: 0.8969029 (2700)\ttotal: 10.7s\tremaining: 1.18s\n",
      "2750:\ttest: 0.9261377\ttest1: 0.8969440\tbest: 0.8969440 (2750)\ttotal: 10.9s\tremaining: 984ms\n",
      "2800:\ttest: 0.9266052\ttest1: 0.8971229\tbest: 0.8971229 (2800)\ttotal: 11.1s\tremaining: 786ms\n",
      "2850:\ttest: 0.9270212\ttest1: 0.8971479\tbest: 0.8971479 (2850)\ttotal: 11.2s\tremaining: 588ms\n",
      "2900:\ttest: 0.9274945\ttest1: 0.8971336\tbest: 0.8971479 (2850)\ttotal: 11.4s\tremaining: 390ms\n",
      "2950:\ttest: 0.9279475\ttest1: 0.8972248\tbest: 0.8972248 (2950)\ttotal: 11.6s\tremaining: 193ms\n",
      "2999:\ttest: 0.9283406\ttest1: 0.8972588\tbest: 0.8972588 (2999)\ttotal: 11.8s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8972588284\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  1 AUC : 0.897259\n",
      "0:\ttest: 0.8545762\ttest1: 0.8413542\tbest: 0.8413542 (0)\ttotal: 7.61ms\tremaining: 22.8s\n",
      "50:\ttest: 0.8982974\ttest1: 0.8784895\tbest: 0.8784895 (50)\ttotal: 212ms\tremaining: 12.3s\n",
      "100:\ttest: 0.8989552\ttest1: 0.8819254\tbest: 0.8819254 (100)\ttotal: 465ms\tremaining: 13.3s\n",
      "150:\ttest: 0.8999862\ttest1: 0.8833276\tbest: 0.8833276 (150)\ttotal: 657ms\tremaining: 12.4s\n",
      "200:\ttest: 0.9000118\ttest1: 0.8831559\tbest: 0.8833276 (150)\ttotal: 864ms\tremaining: 12s\n",
      "250:\ttest: 0.8998853\ttest1: 0.8829127\tbest: 0.8833276 (150)\ttotal: 1.08s\tremaining: 11.9s\n",
      "300:\ttest: 0.9006027\ttest1: 0.8830486\tbest: 0.8833276 (150)\ttotal: 1.32s\tremaining: 11.9s\n",
      "350:\ttest: 0.9010507\ttest1: 0.8833509\tbest: 0.8833509 (350)\ttotal: 1.51s\tremaining: 11.4s\n",
      "400:\ttest: 0.9017491\ttest1: 0.8843382\tbest: 0.8843382 (400)\ttotal: 1.71s\tremaining: 11.1s\n",
      "450:\ttest: 0.9026436\ttest1: 0.8850643\tbest: 0.8850643 (450)\ttotal: 1.92s\tremaining: 10.9s\n",
      "500:\ttest: 0.9035557\ttest1: 0.8861625\tbest: 0.8861625 (500)\ttotal: 2.14s\tremaining: 10.7s\n",
      "550:\ttest: 0.9042503\ttest1: 0.8868404\tbest: 0.8868404 (550)\ttotal: 2.35s\tremaining: 10.4s\n",
      "600:\ttest: 0.9048652\ttest1: 0.8873251\tbest: 0.8873251 (600)\ttotal: 2.54s\tremaining: 10.2s\n",
      "650:\ttest: 0.9054753\ttest1: 0.8881138\tbest: 0.8881138 (650)\ttotal: 2.75s\tremaining: 9.9s\n",
      "700:\ttest: 0.9060124\ttest1: 0.8886307\tbest: 0.8886307 (700)\ttotal: 2.93s\tremaining: 9.62s\n",
      "750:\ttest: 0.9065394\ttest1: 0.8892854\tbest: 0.8892854 (750)\ttotal: 3.12s\tremaining: 9.35s\n",
      "800:\ttest: 0.9071720\ttest1: 0.8897253\tbest: 0.8897253 (800)\ttotal: 3.31s\tremaining: 9.07s\n",
      "850:\ttest: 0.9079343\ttest1: 0.8901278\tbest: 0.8901278 (850)\ttotal: 3.5s\tremaining: 8.83s\n",
      "900:\ttest: 0.9085122\ttest1: 0.8904765\tbest: 0.8904765 (900)\ttotal: 3.71s\tremaining: 8.64s\n",
      "950:\ttest: 0.9092802\ttest1: 0.8909899\tbest: 0.8909899 (950)\ttotal: 3.88s\tremaining: 8.36s\n",
      "1000:\ttest: 0.9099124\ttest1: 0.8913762\tbest: 0.8913762 (1000)\ttotal: 4.06s\tremaining: 8.11s\n",
      "1050:\ttest: 0.9105356\ttest1: 0.8918555\tbest: 0.8918555 (1050)\ttotal: 4.25s\tremaining: 7.87s\n",
      "1100:\ttest: 0.9110859\ttest1: 0.8921542\tbest: 0.8921542 (1100)\ttotal: 4.44s\tremaining: 7.66s\n",
      "1150:\ttest: 0.9117637\ttest1: 0.8926819\tbest: 0.8926819 (1150)\ttotal: 4.64s\tremaining: 7.46s\n",
      "1200:\ttest: 0.9123232\ttest1: 0.8931254\tbest: 0.8931254 (1200)\ttotal: 4.83s\tremaining: 7.24s\n",
      "1250:\ttest: 0.9127928\ttest1: 0.8932918\tbest: 0.8932918 (1250)\ttotal: 5.05s\tremaining: 7.06s\n",
      "1300:\ttest: 0.9133081\ttest1: 0.8937318\tbest: 0.8937318 (1300)\ttotal: 5.22s\tremaining: 6.82s\n",
      "1350:\ttest: 0.9139099\ttest1: 0.8942326\tbest: 0.8942326 (1350)\ttotal: 5.42s\tremaining: 6.62s\n",
      "1400:\ttest: 0.9144038\ttest1: 0.8945026\tbest: 0.8945026 (1400)\ttotal: 5.61s\tremaining: 6.4s\n",
      "1450:\ttest: 0.9148203\ttest1: 0.8946743\tbest: 0.8946743 (1450)\ttotal: 5.8s\tremaining: 6.19s\n",
      "1500:\ttest: 0.9153682\ttest1: 0.8950857\tbest: 0.8950857 (1500)\ttotal: 5.99s\tremaining: 5.98s\n",
      "1550:\ttest: 0.9157948\ttest1: 0.8953719\tbest: 0.8953719 (1550)\ttotal: 6.17s\tremaining: 5.77s\n",
      "1600:\ttest: 0.9161910\ttest1: 0.8955883\tbest: 0.8955883 (1600)\ttotal: 6.36s\tremaining: 5.55s\n",
      "1650:\ttest: 0.9166570\ttest1: 0.8959210\tbest: 0.8959210 (1650)\ttotal: 6.55s\tremaining: 5.35s\n",
      "1700:\ttest: 0.9171648\ttest1: 0.8962984\tbest: 0.8962984 (1700)\ttotal: 6.73s\tremaining: 5.14s\n",
      "1750:\ttest: 0.9176728\ttest1: 0.8965112\tbest: 0.8965112 (1750)\ttotal: 6.91s\tremaining: 4.93s\n",
      "1800:\ttest: 0.9180601\ttest1: 0.8966310\tbest: 0.8966310 (1800)\ttotal: 7.1s\tremaining: 4.72s\n",
      "1850:\ttest: 0.9185331\ttest1: 0.8968278\tbest: 0.8968278 (1850)\ttotal: 7.3s\tremaining: 4.53s\n",
      "1900:\ttest: 0.9189883\ttest1: 0.8969118\tbest: 0.8969118 (1900)\ttotal: 7.48s\tremaining: 4.32s\n",
      "1950:\ttest: 0.9194789\ttest1: 0.8970031\tbest: 0.8970031 (1950)\ttotal: 7.67s\tremaining: 4.12s\n",
      "2000:\ttest: 0.9198607\ttest1: 0.8971122\tbest: 0.8971122 (2000)\ttotal: 7.88s\tremaining: 3.94s\n",
      "2050:\ttest: 0.9203020\ttest1: 0.8971748\tbest: 0.8971748 (2050)\ttotal: 8.06s\tremaining: 3.73s\n",
      "2100:\ttest: 0.9208010\ttest1: 0.8972946\tbest: 0.8972946 (2100)\ttotal: 8.23s\tremaining: 3.52s\n",
      "2150:\ttest: 0.9212517\ttest1: 0.8974556\tbest: 0.8974556 (2150)\ttotal: 8.42s\tremaining: 3.32s\n",
      "2200:\ttest: 0.9216923\ttest1: 0.8975861\tbest: 0.8975861 (2200)\ttotal: 8.62s\tremaining: 3.13s\n",
      "2250:\ttest: 0.9221168\ttest1: 0.8977382\tbest: 0.8977382 (2250)\ttotal: 8.8s\tremaining: 2.93s\n",
      "2300:\ttest: 0.9225350\ttest1: 0.8979904\tbest: 0.8979904 (2300)\ttotal: 8.99s\tremaining: 2.73s\n",
      "2350:\ttest: 0.9229845\ttest1: 0.8980369\tbest: 0.8980369 (2350)\ttotal: 9.18s\tremaining: 2.53s\n",
      "2400:\ttest: 0.9234492\ttest1: 0.8981406\tbest: 0.8981406 (2400)\ttotal: 9.37s\tremaining: 2.34s\n",
      "2450:\ttest: 0.9238804\ttest1: 0.8982104\tbest: 0.8982104 (2450)\ttotal: 9.56s\tremaining: 2.14s\n",
      "2500:\ttest: 0.9243027\ttest1: 0.8982104\tbest: 0.8982104 (2450)\ttotal: 9.74s\tremaining: 1.94s\n",
      "2550:\ttest: 0.9247567\ttest1: 0.8983713\tbest: 0.8983713 (2550)\ttotal: 9.93s\tremaining: 1.75s\n",
      "2600:\ttest: 0.9252340\ttest1: 0.8985037\tbest: 0.8985037 (2600)\ttotal: 10.1s\tremaining: 1.55s\n",
      "2650:\ttest: 0.9256747\ttest1: 0.8986611\tbest: 0.8986611 (2650)\ttotal: 10.3s\tremaining: 1.36s\n",
      "2700:\ttest: 0.9261737\ttest1: 0.8987809\tbest: 0.8987809 (2700)\ttotal: 10.5s\tremaining: 1.16s\n",
      "2750:\ttest: 0.9266156\ttest1: 0.8988399\tbest: 0.8988399 (2750)\ttotal: 10.7s\tremaining: 966ms\n",
      "2800:\ttest: 0.9270539\ttest1: 0.8989115\tbest: 0.8989115 (2800)\ttotal: 10.9s\tremaining: 772ms\n",
      "2850:\ttest: 0.9274187\ttest1: 0.8990134\tbest: 0.8990134 (2850)\ttotal: 11.1s\tremaining: 578ms\n",
      "2900:\ttest: 0.9278667\ttest1: 0.8991011\tbest: 0.8991011 (2900)\ttotal: 11.3s\tremaining: 384ms\n",
      "2950:\ttest: 0.9283146\ttest1: 0.8991959\tbest: 0.8991959 (2950)\ttotal: 11.4s\tremaining: 190ms\n",
      "2999:\ttest: 0.9287231\ttest1: 0.8992298\tbest: 0.8992298 (2999)\ttotal: 11.6s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8992298392\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  2 AUC : 0.899230\n",
      "0:\ttest: 0.8567376\ttest1: 0.8432787\tbest: 0.8432787 (0)\ttotal: 4.56ms\tremaining: 13.7s\n",
      "50:\ttest: 0.9009369\ttest1: 0.8844818\tbest: 0.8844818 (50)\ttotal: 184ms\tremaining: 10.6s\n",
      "100:\ttest: 0.9012455\ttest1: 0.8875473\tbest: 0.8875473 (100)\ttotal: 392ms\tremaining: 11.3s\n",
      "150:\ttest: 0.9010169\ttest1: 0.8879077\tbest: 0.8879077 (150)\ttotal: 595ms\tremaining: 11.2s\n",
      "200:\ttest: 0.9012612\ttest1: 0.8878542\tbest: 0.8879077 (150)\ttotal: 783ms\tremaining: 10.9s\n",
      "250:\ttest: 0.9016909\ttest1: 0.8883395\tbest: 0.8883395 (250)\ttotal: 967ms\tremaining: 10.6s\n",
      "300:\ttest: 0.9020283\ttest1: 0.8886536\tbest: 0.8886536 (300)\ttotal: 1.17s\tremaining: 10.5s\n",
      "350:\ttest: 0.9026026\ttest1: 0.8889390\tbest: 0.8889390 (350)\ttotal: 1.38s\tremaining: 10.4s\n",
      "400:\ttest: 0.9036217\ttest1: 0.8900507\tbest: 0.8900507 (400)\ttotal: 1.58s\tremaining: 10.2s\n",
      "450:\ttest: 0.9040570\ttest1: 0.8906734\tbest: 0.8906734 (450)\ttotal: 1.78s\tremaining: 10.1s\n",
      "500:\ttest: 0.9047129\ttest1: 0.8910767\tbest: 0.8910767 (500)\ttotal: 2.03s\tremaining: 10.1s\n",
      "550:\ttest: 0.9053712\ttest1: 0.8917940\tbest: 0.8917940 (550)\ttotal: 2.24s\tremaining: 9.96s\n",
      "600:\ttest: 0.9058127\ttest1: 0.8919582\tbest: 0.8919582 (600)\ttotal: 2.43s\tremaining: 9.7s\n",
      "650:\ttest: 0.9062887\ttest1: 0.8922865\tbest: 0.8922865 (650)\ttotal: 2.63s\tremaining: 9.51s\n",
      "700:\ttest: 0.9067181\ttest1: 0.8922026\tbest: 0.8922865 (650)\ttotal: 2.81s\tremaining: 9.21s\n",
      "750:\ttest: 0.9074450\ttest1: 0.8929003\tbest: 0.8929003 (750)\ttotal: 3s\tremaining: 8.97s\n",
      "800:\ttest: 0.9081112\ttest1: 0.8931644\tbest: 0.8931644 (800)\ttotal: 3.18s\tremaining: 8.74s\n",
      "850:\ttest: 0.9086523\ttest1: 0.8934980\tbest: 0.8934980 (850)\ttotal: 3.38s\tremaining: 8.53s\n",
      "900:\ttest: 0.9093881\ttest1: 0.8940851\tbest: 0.8940851 (900)\ttotal: 3.59s\tremaining: 8.37s\n",
      "950:\ttest: 0.9101330\ttest1: 0.8946097\tbest: 0.8946097 (950)\ttotal: 3.81s\tremaining: 8.21s\n",
      "1000:\ttest: 0.9108526\ttest1: 0.8951610\tbest: 0.8951610 (1000)\ttotal: 3.99s\tremaining: 7.97s\n",
      "1050:\ttest: 0.9115991\ttest1: 0.8957338\tbest: 0.8957338 (1050)\ttotal: 4.19s\tremaining: 7.76s\n",
      "1100:\ttest: 0.9121517\ttest1: 0.8960265\tbest: 0.8960265 (1100)\ttotal: 4.37s\tremaining: 7.54s\n",
      "1150:\ttest: 0.9129343\ttest1: 0.8964975\tbest: 0.8964975 (1150)\ttotal: 4.56s\tremaining: 7.33s\n",
      "1200:\ttest: 0.9136160\ttest1: 0.8967545\tbest: 0.8967545 (1200)\ttotal: 4.75s\tremaining: 7.11s\n",
      "1250:\ttest: 0.9142926\ttest1: 0.8972130\tbest: 0.8972130 (1250)\ttotal: 4.94s\tremaining: 6.91s\n",
      "1300:\ttest: 0.9148705\ttest1: 0.8978572\tbest: 0.8978572 (1300)\ttotal: 5.15s\tremaining: 6.73s\n",
      "1350:\ttest: 0.9154625\ttest1: 0.8983051\tbest: 0.8983051 (1350)\ttotal: 5.34s\tremaining: 6.52s\n",
      "1400:\ttest: 0.9160482\ttest1: 0.8985995\tbest: 0.8985995 (1400)\ttotal: 5.55s\tremaining: 6.33s\n",
      "1450:\ttest: 0.9165638\ttest1: 0.8988903\tbest: 0.8988903 (1450)\ttotal: 5.75s\tremaining: 6.14s\n",
      "1500:\ttest: 0.9170979\ttest1: 0.8992240\tbest: 0.8992240 (1500)\ttotal: 5.94s\tremaining: 5.93s\n",
      "1550:\ttest: 0.9175303\ttest1: 0.8994363\tbest: 0.8994363 (1550)\ttotal: 6.14s\tremaining: 5.74s\n",
      "1600:\ttest: 0.9180142\ttest1: 0.8996076\tbest: 0.8996076 (1600)\ttotal: 6.34s\tremaining: 5.54s\n",
      "1650:\ttest: 0.9184384\ttest1: 0.8996201\tbest: 0.8996201 (1650)\ttotal: 6.54s\tremaining: 5.34s\n",
      "1700:\ttest: 0.9188527\ttest1: 0.8997200\tbest: 0.8997200 (1700)\ttotal: 6.73s\tremaining: 5.14s\n",
      "1750:\ttest: 0.9192798\ttest1: 0.8997861\tbest: 0.8997861 (1750)\ttotal: 6.93s\tremaining: 4.94s\n",
      "1800:\ttest: 0.9197367\ttest1: 0.8999395\tbest: 0.8999395 (1800)\ttotal: 7.12s\tremaining: 4.74s\n",
      "1850:\ttest: 0.9201754\ttest1: 0.9002411\tbest: 0.9002411 (1850)\ttotal: 7.32s\tremaining: 4.54s\n",
      "1900:\ttest: 0.9205819\ttest1: 0.9003517\tbest: 0.9003517 (1900)\ttotal: 7.51s\tremaining: 4.34s\n",
      "1950:\ttest: 0.9210707\ttest1: 0.9005498\tbest: 0.9005498 (1950)\ttotal: 7.7s\tremaining: 4.14s\n",
      "2000:\ttest: 0.9215237\ttest1: 0.9007371\tbest: 0.9007371 (2000)\ttotal: 7.89s\tremaining: 3.94s\n",
      "2050:\ttest: 0.9219102\ttest1: 0.9008906\tbest: 0.9008906 (2050)\ttotal: 8.09s\tremaining: 3.74s\n",
      "2100:\ttest: 0.9223727\ttest1: 0.9011100\tbest: 0.9011100 (2100)\ttotal: 8.28s\tremaining: 3.54s\n",
      "2150:\ttest: 0.9227893\ttest1: 0.9011475\tbest: 0.9011475 (2150)\ttotal: 8.47s\tremaining: 3.34s\n",
      "2200:\ttest: 0.9232596\ttest1: 0.9012564\tbest: 0.9012564 (2200)\ttotal: 8.65s\tremaining: 3.14s\n",
      "2250:\ttest: 0.9236432\ttest1: 0.9014062\tbest: 0.9014062 (2250)\ttotal: 8.86s\tremaining: 2.95s\n",
      "2300:\ttest: 0.9240749\ttest1: 0.9014919\tbest: 0.9014919 (2300)\ttotal: 9.05s\tremaining: 2.75s\n",
      "2350:\ttest: 0.9244700\ttest1: 0.9015543\tbest: 0.9015543 (2350)\ttotal: 9.25s\tremaining: 2.55s\n",
      "2400:\ttest: 0.9248827\ttest1: 0.9015793\tbest: 0.9015793 (2400)\ttotal: 9.43s\tremaining: 2.35s\n",
      "2450:\ttest: 0.9252860\ttest1: 0.9016489\tbest: 0.9016489 (2450)\ttotal: 9.62s\tremaining: 2.15s\n",
      "2500:\ttest: 0.9256796\ttest1: 0.9017239\tbest: 0.9017239 (2500)\ttotal: 9.81s\tremaining: 1.96s\n",
      "2550:\ttest: 0.9260322\ttest1: 0.9018166\tbest: 0.9018166 (2550)\ttotal: 10s\tremaining: 1.76s\n",
      "2600:\ttest: 0.9264833\ttest1: 0.9018720\tbest: 0.9018720 (2600)\ttotal: 10.2s\tremaining: 1.56s\n",
      "2650:\ttest: 0.9268451\ttest1: 0.9019059\tbest: 0.9019059 (2650)\ttotal: 10.4s\tremaining: 1.37s\n",
      "2700:\ttest: 0.9272380\ttest1: 0.9019183\tbest: 0.9019183 (2700)\ttotal: 10.6s\tremaining: 1.17s\n",
      "2750:\ttest: 0.9276117\ttest1: 0.9019790\tbest: 0.9019790 (2750)\ttotal: 10.8s\tremaining: 976ms\n",
      "2800:\ttest: 0.9279979\ttest1: 0.9020004\tbest: 0.9020004 (2800)\ttotal: 11s\tremaining: 779ms\n",
      "2850:\ttest: 0.9283944\ttest1: 0.9020593\tbest: 0.9020593 (2850)\ttotal: 11.2s\tremaining: 584ms\n",
      "2900:\ttest: 0.9287703\ttest1: 0.9021200\tbest: 0.9021200 (2900)\ttotal: 11.4s\tremaining: 388ms\n",
      "2950:\ttest: 0.9291164\ttest1: 0.9021682\tbest: 0.9021682 (2950)\ttotal: 11.6s\tremaining: 192ms\n",
      "2999:\ttest: 0.9295533\ttest1: 0.9022110\tbest: 0.9022110 (2999)\ttotal: 11.8s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.9022109769\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  3 AUC : 0.902211\n",
      "0:\ttest: 0.8588791\ttest1: 0.8343739\tbest: 0.8343739 (0)\ttotal: 3.95ms\tremaining: 11.9s\n",
      "50:\ttest: 0.9033360\ttest1: 0.8780028\tbest: 0.8780028 (50)\ttotal: 197ms\tremaining: 11.4s\n",
      "100:\ttest: 0.9040584\ttest1: 0.8810433\tbest: 0.8810433 (100)\ttotal: 393ms\tremaining: 11.3s\n",
      "150:\ttest: 0.9044825\ttest1: 0.8827010\tbest: 0.8827010 (150)\ttotal: 572ms\tremaining: 10.8s\n",
      "200:\ttest: 0.9049001\ttest1: 0.8829383\tbest: 0.8829383 (200)\ttotal: 771ms\tremaining: 10.7s\n",
      "250:\ttest: 0.9050132\ttest1: 0.8831738\tbest: 0.8831738 (250)\ttotal: 977ms\tremaining: 10.7s\n",
      "300:\ttest: 0.9058153\ttest1: 0.8837109\tbest: 0.8837109 (300)\ttotal: 1.17s\tremaining: 10.5s\n",
      "350:\ttest: 0.9063009\ttest1: 0.8842569\tbest: 0.8842569 (350)\ttotal: 1.36s\tremaining: 10.2s\n",
      "400:\ttest: 0.9071327\ttest1: 0.8845710\tbest: 0.8845710 (400)\ttotal: 1.57s\tremaining: 10.2s\n",
      "450:\ttest: 0.9074216\ttest1: 0.8848386\tbest: 0.8848386 (450)\ttotal: 1.76s\tremaining: 9.98s\n",
      "500:\ttest: 0.9080271\ttest1: 0.8852330\tbest: 0.8852330 (500)\ttotal: 1.97s\tremaining: 9.84s\n",
      "550:\ttest: 0.9086053\ttest1: 0.8855149\tbest: 0.8855149 (550)\ttotal: 2.17s\tremaining: 9.63s\n",
      "600:\ttest: 0.9089835\ttest1: 0.8854489\tbest: 0.8855149 (550)\ttotal: 2.37s\tremaining: 9.44s\n",
      "650:\ttest: 0.9094407\ttest1: 0.8858504\tbest: 0.8858504 (650)\ttotal: 2.56s\tremaining: 9.22s\n",
      "700:\ttest: 0.9097207\ttest1: 0.8860448\tbest: 0.8860448 (700)\ttotal: 2.75s\tremaining: 9.01s\n",
      "750:\ttest: 0.9101276\ttest1: 0.8863535\tbest: 0.8863535 (750)\ttotal: 2.93s\tremaining: 8.78s\n",
      "800:\ttest: 0.9106078\ttest1: 0.8866908\tbest: 0.8866908 (800)\ttotal: 3.13s\tremaining: 8.6s\n",
      "850:\ttest: 0.9110949\ttest1: 0.8869691\tbest: 0.8869691 (850)\ttotal: 3.32s\tremaining: 8.39s\n",
      "900:\ttest: 0.9114928\ttest1: 0.8870923\tbest: 0.8870923 (900)\ttotal: 3.52s\tremaining: 8.21s\n",
      "950:\ttest: 0.9119026\ttest1: 0.8872921\tbest: 0.8872921 (950)\ttotal: 3.72s\tremaining: 8.01s\n",
      "1000:\ttest: 0.9124217\ttest1: 0.8877578\tbest: 0.8877578 (1000)\ttotal: 3.91s\tremaining: 7.8s\n",
      "1050:\ttest: 0.9129363\ttest1: 0.8881290\tbest: 0.8881290 (1050)\ttotal: 4.11s\tremaining: 7.61s\n",
      "1100:\ttest: 0.9134414\ttest1: 0.8883288\tbest: 0.8883288 (1100)\ttotal: 4.31s\tremaining: 7.43s\n",
      "1150:\ttest: 0.9139390\ttest1: 0.8884644\tbest: 0.8884644 (1150)\ttotal: 4.54s\tremaining: 7.29s\n",
      "1200:\ttest: 0.9143870\ttest1: 0.8886785\tbest: 0.8886785 (1200)\ttotal: 4.73s\tremaining: 7.09s\n",
      "1250:\ttest: 0.9148607\ttest1: 0.8890033\tbest: 0.8890033 (1250)\ttotal: 4.94s\tremaining: 6.91s\n",
      "1300:\ttest: 0.9152133\ttest1: 0.8891710\tbest: 0.8891710 (1300)\ttotal: 5.15s\tremaining: 6.72s\n",
      "1350:\ttest: 0.9157181\ttest1: 0.8896546\tbest: 0.8896546 (1350)\ttotal: 5.34s\tremaining: 6.52s\n",
      "1400:\ttest: 0.9161717\ttest1: 0.8898883\tbest: 0.8898883 (1400)\ttotal: 5.55s\tremaining: 6.34s\n",
      "1450:\ttest: 0.9166347\ttest1: 0.8900971\tbest: 0.8900971 (1450)\ttotal: 5.77s\tremaining: 6.16s\n",
      "1500:\ttest: 0.9170618\ttest1: 0.8903255\tbest: 0.8903255 (1500)\ttotal: 5.97s\tremaining: 5.96s\n",
      "1550:\ttest: 0.9174504\ttest1: 0.8904254\tbest: 0.8904254 (1550)\ttotal: 6.17s\tremaining: 5.77s\n",
      "1600:\ttest: 0.9178448\ttest1: 0.8905467\tbest: 0.8905467 (1600)\ttotal: 6.38s\tremaining: 5.58s\n",
      "1650:\ttest: 0.9181760\ttest1: 0.8906984\tbest: 0.8906984 (1650)\ttotal: 6.58s\tremaining: 5.37s\n",
      "1700:\ttest: 0.9186323\ttest1: 0.8908751\tbest: 0.8908751 (1700)\ttotal: 6.76s\tremaining: 5.17s\n",
      "1750:\ttest: 0.9190021\ttest1: 0.8909696\tbest: 0.8909696 (1750)\ttotal: 6.98s\tremaining: 4.98s\n",
      "1800:\ttest: 0.9194187\ttest1: 0.8911320\tbest: 0.8911320 (1800)\ttotal: 7.17s\tremaining: 4.77s\n",
      "1850:\ttest: 0.9198566\ttest1: 0.8914246\tbest: 0.8914246 (1850)\ttotal: 7.38s\tremaining: 4.58s\n",
      "1900:\ttest: 0.9202771\ttest1: 0.8914585\tbest: 0.8914585 (1900)\ttotal: 7.58s\tremaining: 4.38s\n",
      "1950:\ttest: 0.9206815\ttest1: 0.8914675\tbest: 0.8914675 (1950)\ttotal: 7.78s\tremaining: 4.18s\n",
      "2000:\ttest: 0.9210733\ttest1: 0.8915317\tbest: 0.8915317 (2000)\ttotal: 7.98s\tremaining: 3.98s\n",
      "2050:\ttest: 0.9215008\ttest1: 0.8917726\tbest: 0.8917726 (2050)\ttotal: 8.2s\tremaining: 3.79s\n",
      "2100:\ttest: 0.9219057\ttest1: 0.8919992\tbest: 0.8919992 (2100)\ttotal: 8.41s\tremaining: 3.6s\n",
      "2150:\ttest: 0.9222925\ttest1: 0.8921116\tbest: 0.8921116 (2150)\ttotal: 8.61s\tremaining: 3.4s\n",
      "2200:\ttest: 0.9226368\ttest1: 0.8921741\tbest: 0.8921741 (2200)\ttotal: 8.81s\tremaining: 3.2s\n",
      "2250:\ttest: 0.9230234\ttest1: 0.8922990\tbest: 0.8922990 (2250)\ttotal: 9.01s\tremaining: 3s\n",
      "2300:\ttest: 0.9234063\ttest1: 0.8923614\tbest: 0.8923614 (2300)\ttotal: 9.2s\tremaining: 2.79s\n",
      "2350:\ttest: 0.9238056\ttest1: 0.8924417\tbest: 0.8924417 (2350)\ttotal: 9.4s\tremaining: 2.6s\n",
      "2400:\ttest: 0.9241616\ttest1: 0.8924471\tbest: 0.8924471 (2400)\ttotal: 9.59s\tremaining: 2.39s\n",
      "2450:\ttest: 0.9245630\ttest1: 0.8924845\tbest: 0.8924845 (2450)\ttotal: 9.81s\tremaining: 2.2s\n",
      "2500:\ttest: 0.9249981\ttest1: 0.8925470\tbest: 0.8925470 (2500)\ttotal: 10s\tremaining: 2s\n",
      "2550:\ttest: 0.9253737\ttest1: 0.8926219\tbest: 0.8926219 (2550)\ttotal: 10.2s\tremaining: 1.8s\n",
      "2600:\ttest: 0.9257241\ttest1: 0.8927308\tbest: 0.8927308 (2600)\ttotal: 10.4s\tremaining: 1.6s\n",
      "2650:\ttest: 0.9260952\ttest1: 0.8928146\tbest: 0.8928146 (2650)\ttotal: 10.6s\tremaining: 1.4s\n",
      "2700:\ttest: 0.9264763\ttest1: 0.8928967\tbest: 0.8928967 (2700)\ttotal: 10.8s\tremaining: 1.2s\n",
      "2750:\ttest: 0.9268499\ttest1: 0.8930038\tbest: 0.8930038 (2750)\ttotal: 11s\tremaining: 996ms\n",
      "2800:\ttest: 0.9272388\ttest1: 0.8930430\tbest: 0.8930430 (2800)\ttotal: 11.2s\tremaining: 795ms\n",
      "2850:\ttest: 0.9276177\ttest1: 0.8930876\tbest: 0.8930876 (2850)\ttotal: 11.4s\tremaining: 595ms\n",
      "2900:\ttest: 0.9280002\ttest1: 0.8930948\tbest: 0.8930948 (2900)\ttotal: 11.6s\tremaining: 396ms\n",
      "2950:\ttest: 0.9283700\ttest1: 0.8931394\tbest: 0.8931394 (2950)\ttotal: 11.8s\tremaining: 196ms\n",
      "2999:\ttest: 0.9287351\ttest1: 0.8932125\tbest: 0.8932125 (2999)\ttotal: 12s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8932125453\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  4 AUC : 0.893213\n",
      "0:\ttest: 0.8573366\ttest1: 0.8567977\tbest: 0.8567977 (0)\ttotal: 4.82ms\tremaining: 14.5s\n",
      "50:\ttest: 0.8991028\ttest1: 0.8825797\tbest: 0.8825797 (50)\ttotal: 199ms\tremaining: 11.5s\n",
      "100:\ttest: 0.8996904\ttest1: 0.8838733\tbest: 0.8838733 (100)\ttotal: 390ms\tremaining: 11.2s\n",
      "150:\ttest: 0.8995966\ttest1: 0.8847780\tbest: 0.8847780 (150)\ttotal: 567ms\tremaining: 10.7s\n",
      "200:\ttest: 0.8999490\ttest1: 0.8844300\tbest: 0.8847780 (150)\ttotal: 768ms\tremaining: 10.7s\n",
      "250:\ttest: 0.9005630\ttest1: 0.8853097\tbest: 0.8853097 (250)\ttotal: 965ms\tremaining: 10.6s\n",
      "300:\ttest: 0.9010248\ttest1: 0.8858111\tbest: 0.8858111 (300)\ttotal: 1.18s\tremaining: 10.5s\n",
      "350:\ttest: 0.9015588\ttest1: 0.8864588\tbest: 0.8864588 (350)\ttotal: 1.39s\tremaining: 10.5s\n",
      "400:\ttest: 0.9021437\ttest1: 0.8872065\tbest: 0.8872065 (400)\ttotal: 1.55s\tremaining: 10.1s\n",
      "450:\ttest: 0.9027073\ttest1: 0.8877507\tbest: 0.8877507 (450)\ttotal: 1.75s\tremaining: 9.9s\n",
      "500:\ttest: 0.9033270\ttest1: 0.8883217\tbest: 0.8883217 (500)\ttotal: 1.94s\tremaining: 9.66s\n",
      "550:\ttest: 0.9039944\ttest1: 0.8889123\tbest: 0.8889123 (550)\ttotal: 2.17s\tremaining: 9.63s\n",
      "600:\ttest: 0.9045667\ttest1: 0.8895654\tbest: 0.8895654 (600)\ttotal: 2.37s\tremaining: 9.47s\n",
      "650:\ttest: 0.9050164\ttest1: 0.8897491\tbest: 0.8897491 (650)\ttotal: 2.59s\tremaining: 9.34s\n",
      "700:\ttest: 0.9056375\ttest1: 0.8903219\tbest: 0.8903219 (700)\ttotal: 2.78s\tremaining: 9.12s\n",
      "750:\ttest: 0.9063133\ttest1: 0.8910696\tbest: 0.8910696 (750)\ttotal: 2.97s\tremaining: 8.89s\n",
      "800:\ttest: 0.9068489\ttest1: 0.8915424\tbest: 0.8915424 (800)\ttotal: 3.15s\tremaining: 8.65s\n",
      "850:\ttest: 0.9076089\ttest1: 0.8922579\tbest: 0.8922579 (850)\ttotal: 3.33s\tremaining: 8.42s\n",
      "900:\ttest: 0.9082614\ttest1: 0.8929681\tbest: 0.8929681 (900)\ttotal: 3.52s\tremaining: 8.21s\n",
      "950:\ttest: 0.9087767\ttest1: 0.8932839\tbest: 0.8932839 (950)\ttotal: 3.71s\tremaining: 7.98s\n",
      "1000:\ttest: 0.9094727\ttest1: 0.8939459\tbest: 0.8939459 (1000)\ttotal: 3.9s\tremaining: 7.78s\n",
      "1050:\ttest: 0.9101231\ttest1: 0.8944580\tbest: 0.8944580 (1050)\ttotal: 4.09s\tremaining: 7.59s\n",
      "1100:\ttest: 0.9108024\ttest1: 0.8950165\tbest: 0.8950165 (1100)\ttotal: 4.28s\tremaining: 7.38s\n",
      "1150:\ttest: 0.9114656\ttest1: 0.8956250\tbest: 0.8956250 (1150)\ttotal: 4.48s\tremaining: 7.19s\n",
      "1200:\ttest: 0.9121326\ttest1: 0.8963619\tbest: 0.8963619 (1200)\ttotal: 4.67s\tremaining: 7s\n",
      "1250:\ttest: 0.9126756\ttest1: 0.8969186\tbest: 0.8969186 (1250)\ttotal: 4.87s\tremaining: 6.81s\n",
      "1300:\ttest: 0.9131535\ttest1: 0.8973076\tbest: 0.8973076 (1300)\ttotal: 5.06s\tremaining: 6.61s\n",
      "1350:\ttest: 0.9136604\ttest1: 0.8977019\tbest: 0.8977019 (1350)\ttotal: 5.26s\tremaining: 6.42s\n",
      "1400:\ttest: 0.9141701\ttest1: 0.8980552\tbest: 0.8980552 (1400)\ttotal: 5.45s\tremaining: 6.22s\n",
      "1450:\ttest: 0.9147217\ttest1: 0.8984103\tbest: 0.8984103 (1450)\ttotal: 5.64s\tremaining: 6.02s\n",
      "1500:\ttest: 0.9152577\ttest1: 0.8988207\tbest: 0.8988207 (1500)\ttotal: 5.84s\tremaining: 5.83s\n",
      "1550:\ttest: 0.9156005\ttest1: 0.8990563\tbest: 0.8990563 (1550)\ttotal: 6.03s\tremaining: 5.63s\n",
      "1600:\ttest: 0.9160162\ttest1: 0.8993703\tbest: 0.8993703 (1600)\ttotal: 6.22s\tremaining: 5.44s\n",
      "1650:\ttest: 0.9164523\ttest1: 0.8995791\tbest: 0.8995791 (1650)\ttotal: 6.42s\tremaining: 5.25s\n",
      "1700:\ttest: 0.9168946\ttest1: 0.8996754\tbest: 0.8996754 (1700)\ttotal: 6.61s\tremaining: 5.04s\n",
      "1750:\ttest: 0.9173696\ttest1: 0.8999930\tbest: 0.8999930 (1750)\ttotal: 6.82s\tremaining: 4.86s\n",
      "1800:\ttest: 0.9177907\ttest1: 0.9001750\tbest: 0.9001750 (1800)\ttotal: 7.01s\tremaining: 4.67s\n",
      "1850:\ttest: 0.9182544\ttest1: 0.9004695\tbest: 0.9004695 (1850)\ttotal: 7.22s\tremaining: 4.48s\n",
      "1900:\ttest: 0.9186147\ttest1: 0.9005854\tbest: 0.9005854 (1900)\ttotal: 7.43s\tremaining: 4.29s\n",
      "1950:\ttest: 0.9190113\ttest1: 0.9007710\tbest: 0.9007710 (1950)\ttotal: 7.63s\tremaining: 4.1s\n",
      "2000:\ttest: 0.9194159\ttest1: 0.9009066\tbest: 0.9009066 (2000)\ttotal: 7.81s\tremaining: 3.9s\n",
      "2050:\ttest: 0.9197911\ttest1: 0.9009905\tbest: 0.9009905 (2050)\ttotal: 8.03s\tremaining: 3.71s\n",
      "2100:\ttest: 0.9202257\ttest1: 0.9011868\tbest: 0.9011868 (2100)\ttotal: 8.22s\tremaining: 3.52s\n",
      "2150:\ttest: 0.9205834\ttest1: 0.9012599\tbest: 0.9012599 (2150)\ttotal: 8.41s\tremaining: 3.32s\n",
      "2200:\ttest: 0.9210680\ttest1: 0.9013670\tbest: 0.9013670 (2200)\ttotal: 8.61s\tremaining: 3.13s\n",
      "2250:\ttest: 0.9214951\ttest1: 0.9015347\tbest: 0.9015347 (2250)\ttotal: 8.83s\tremaining: 2.94s\n",
      "2300:\ttest: 0.9219080\ttest1: 0.9016204\tbest: 0.9016204 (2300)\ttotal: 9s\tremaining: 2.73s\n",
      "2350:\ttest: 0.9223586\ttest1: 0.9016204\tbest: 0.9016204 (2300)\ttotal: 9.2s\tremaining: 2.54s\n",
      "2400:\ttest: 0.9228185\ttest1: 0.9016525\tbest: 0.9016525 (2400)\ttotal: 9.39s\tremaining: 2.34s\n",
      "2450:\ttest: 0.9232046\ttest1: 0.9017078\tbest: 0.9017078 (2450)\ttotal: 9.57s\tremaining: 2.14s\n",
      "2500:\ttest: 0.9236508\ttest1: 0.9018184\tbest: 0.9018184 (2500)\ttotal: 9.79s\tremaining: 1.95s\n",
      "2550:\ttest: 0.9240944\ttest1: 0.9018630\tbest: 0.9018630 (2550)\ttotal: 9.97s\tremaining: 1.75s\n",
      "2600:\ttest: 0.9245132\ttest1: 0.9019451\tbest: 0.9019451 (2600)\ttotal: 10.2s\tremaining: 1.56s\n",
      "2650:\ttest: 0.9250141\ttest1: 0.9020593\tbest: 0.9020593 (2650)\ttotal: 10.4s\tremaining: 1.36s\n",
      "2700:\ttest: 0.9254663\ttest1: 0.9021539\tbest: 0.9021539 (2700)\ttotal: 10.6s\tremaining: 1.17s\n",
      "2750:\ttest: 0.9259124\ttest1: 0.9022324\tbest: 0.9022324 (2750)\ttotal: 10.7s\tremaining: 973ms\n",
      "2800:\ttest: 0.9263244\ttest1: 0.9023430\tbest: 0.9023430 (2800)\ttotal: 10.9s\tremaining: 776ms\n",
      "2850:\ttest: 0.9267556\ttest1: 0.9024251\tbest: 0.9024251 (2850)\ttotal: 11.1s\tremaining: 582ms\n",
      "2900:\ttest: 0.9271663\ttest1: 0.9024501\tbest: 0.9024501 (2900)\ttotal: 11.3s\tremaining: 386ms\n",
      "2950:\ttest: 0.9275251\ttest1: 0.9025054\tbest: 0.9025054 (2950)\ttotal: 11.5s\tremaining: 191ms\n",
      "2999:\ttest: 0.9279664\ttest1: 0.9026071\tbest: 0.9026071 (2999)\ttotal: 11.7s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.9026071006\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  5 AUC : 0.902607\n",
      "Full AUC score 0.898805\n"
     ]
    }
   ],
   "source": [
    "# 处理过精度后, 不用分层采样, 模型catboost（经过特征聚类后）\n",
    "y = train_data['isDefault']\n",
    "folds = KFold(n_splits=5, shuffle=True, random_state=546789) # Need to update train_model()\n",
    "\n",
    "oof_preds, IntePre, importances = train_model(train_data, data_cols_train_inte_public_same, y, folds)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-auc:0.89073\tvalidation_1-auc:0.88991\n",
      "[94]\tvalidation_0-auc:0.96433\tvalidation_1-auc:0.90899\n",
      "Fold  1 AUC : 0.910705\n",
      "[0]\tvalidation_0-auc:0.89599\tvalidation_1-auc:0.89447\n",
      "[82]\tvalidation_0-auc:0.96057\tvalidation_1-auc:0.90944\n",
      "Fold  2 AUC : 0.911512\n",
      "[0]\tvalidation_0-auc:0.89321\tvalidation_1-auc:0.87342\n",
      "[85]\tvalidation_0-auc:0.96464\tvalidation_1-auc:0.89521\n",
      "Fold  3 AUC : 0.898556\n",
      "[0]\tvalidation_0-auc:0.89806\tvalidation_1-auc:0.86559\n",
      "[85]\tvalidation_0-auc:0.96291\tvalidation_1-auc:0.88772\n",
      "Fold  4 AUC : 0.892259\n",
      "[0]\tvalidation_0-auc:0.89698\tvalidation_1-auc:0.87336\n",
      "[100]\tvalidation_0-auc:0.96870\tvalidation_1-auc:0.89470\n",
      "[110]\tvalidation_0-auc:0.97232\tvalidation_1-auc:0.89458\n",
      "Fold  5 AUC : 0.895677\n",
      "Full AUC score 0.900612\n"
     ]
    }
   ],
   "source": [
    "# 处理过精度后, 不用分层采样, 模型xgboost（经过特征聚类后）\n",
    "y = train_data['isDefault']\n",
    "# folds = KFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "folds = KFold(n_splits=5, shuffle=True, random_state=546789) # Need to update train_model()\n",
    "\n",
    "IntePre = train_model_xgb(train_data, data_cols_train_inte_public_same, y, folds)\n",
    "\n",
    "# 训练速度快于catboost\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    1\n",
       "1    0\n",
       "2    0\n",
       "3    0\n",
       "4    0\n",
       "Name: is_default, dtype: int64"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_inte.head()['is_default']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "IntePre['isDefault_actual'] = train_inte['is_default'] # 添加实际值到预测结果，便于后续计算AUC分值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 比较模型预测结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7297711417801263"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 处理过精度 + 去除无关特征后, 模型lgbm (用StratifiedKFold)\n",
    "from sklearn.metrics import roc_auc_score\n",
    "roc_auc_score(IntePre['isDefault_actual'],IntePre.isDefault)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7335334786598459"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 处理过精度 + 去除无关特征后, 模型catboost (用StratifiedKFold)\n",
    "from sklearn.metrics import roc_auc_score\n",
    "roc_auc_score(IntePre['isDefault_actual'],IntePre.isDefault)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6929354835923216"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 处理过精度 + 去除无关特征后, 模型xgboost (用KFold)\n",
    "from sklearn.metrics import roc_auc_score\n",
    "roc_auc_score(IntePre['isDefault_actual'],IntePre.isDefault)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Lp8T5Y2qVasycuRI5syZA8CXX37J/fv36dOnT6bHBwcHZ5iBEkIIIUyVFDX/34cffmgRD66rVKkSa9eufe7zpjr2N3p/ahZ3Agghco+i1aGyNs9dusXrMcmFwkJYuqioKGNHMCoZv+WOPydjl4JGZEWKGiGEEEKYBSlqhDBBlrxQEGT8+T1+5f8/XkKIgk7W1AiTdnf1f7HO5MGCQojcU2Zg9nvfCVFQyEyNEEIIIcyCFDVCCCGEMAtS1AghhBDCLEhRkwdGjx5t2EogM9WrV8/087/88gvbt2/Ptu358+czf/7818qX2/bu3cvy5csBWLt2babPwRFCCCHymiwUNiF//fXXK+9PZUx///234d89evQwYhJRkBy7cYN10X/zSO68MTr14XBjRzBITU21mAdu2tvb4+vri0ajMXYUsyFFTS5QFIWpU6eyf/9+ypYti06no1GjRmzevJkVK1ag1+upVasW3333neF/1rFjx3Ly5EkcHByYPHkyV65cYe/evRw5coQyZcrQrFmzF/a7b98+5syZg16vp1KlSkyYMIHSpUsTFhbG8uXLSUlJITU1leDgYBo2bIi3tze1a9cmKiqKu3fvEhgYiIuLS5btz58/n+PHj3Pjxg169epFtWrVmD17NikpKSQmJuLv70+1atUICQkBwNHRkevXrwMwdOjQLPMJAbDt7FkuJyQYO4YAePDA2AksVmhoqBQ1uUiKmlywe/du/vnnH7Zv305SUhIeHh48evSIHTt2EBISQqFChZg5cybLli1j0KBBADRs2JCJEyeyevVqJk2axA8//ICrqyuNGjXKUUFz584dgoKCWLt2LRUrVmTp0qVMmDCBOXPmEBISwqJFi3jjjTdYv349y5Yto2HDhgCkp6fzyy+/sHfvXubOnZttUQOQlpbGzp07gcf7RAUHB1O1alXCw8OZPHky27Zto3v37gB4enoaLo1llW/evHmv/D4L8+JevTop6VqZqTEB6hIljB3BwNJmary8vIwdw6xIUZMLIiMj+eSTT7CxseGNN96gefPmKIrC1atXDd+w6enpvP/++wDY2dnh4eEBQMeOHQ2bS76MkydPUqdOHSpWrAhAt27dWLJkCVZWVvzwww/s3buXy5cvExkZiZXV/y2delIwVatWjYQc/JVcp04dw7+nT5/Ovn372LVrFydOnODhw4cvnU+IJz54800+ePNNY8cQmNZzaix9l2rxeqSoyQUqlQq9Xm/42NraGp1OR7t27QgMDATg4cOH6HQ6gAxFhqIoWFu//Jfh6f6etKPVann48CGenp507NiRhg0bUr16dVavXm047slfQCqVKkf92NnZGf7ds2dPnJ2dcXZ2pnHjxowYMeKl8wkhhBB5Re5+ygWNGzdm165dpKWlkZiYyMGDBwH43//+x507d1AUhXHjxrFixQoAkpOT+e233wDYsGEDTZo0AUCtVhsKnxepW7cuJ06cIDY2Fnh855SzszNXrlzBysqKgQMHotFoOHDgQI7bzE5CQgJXrlzhq6++wsXFhUOHDhnaVavVzxUsWeUTQggh8orM1OSC1q1bc+rUKTp06EDp0qWpWrUqxYoVY8iQIfTp0we9Xk/NmjXx8/MDoHjx4vz666/MnTuXcuXKMWXKFACaNGnCrFmzKFasGG3bts22z9KlSzNhwgSGDBlCeno6jo6OTJo0iVKlSlGzZk3atWuHnZ0dDRs2NCzefR0lS5aka9eutG/fnqJFi1KvXj1SUlJITk6mYcOGjBo1KsMi4KzyCSGEEHlFpSiKYuwQQjwrNTWV6OhoHE8cl72fhMhjsqbGdMj4M47/ye8CJyenHC0gl5kaE/Tzzz+zadOm5z5ftmxZfvrppwLb16t4o1dvi7kTQghjUbRaVK+wtk8IUyPfxSbI19cXX19fs+tL5Jz8tSbjz8/xS0EjzIUsFBZCCCGEWZCiRggTZMmzFCDjf5nxK/KoBCEMZM5RmLTb/52LddojY8cQwmSV/+I7Y0cQwmTITI0QQgghzIIUNUIIIYQwC1LUCCGEEMIsSFFTACUlJRl2+85KQEAA165dy/YYb29vIiIisnw9NjYWV1fXV8oohBBC5DdZKFwAJSYmcubMmWyPiYiIYPDgwfmUSFiqv27cYf3fV0nRvv7+YuLVqMN9jB0hV6WmpprUAzft7e3x9fVFo9EYO4rIASlqCqDg4GBu3brF4MGDcXV1Zfny5ahUKmrVqsXYsWNZvXo1t27dws/Pj9WrV3PkyBGWL19OSkoKqampBAcH07Bhw5fqMz4+njFjxnD9+nWsra0ZNmwYzZs3Jy4ujm+//ZakpCRu375N+/btGTFiBBs3buTgwYMkJiYSExND06ZNGTduXN68IcJodpyN5UrCA2PHsGwPsp+RFa8vNDRUipoCQoqaAigwMBAfHx++/PJLhgwZQmhoKA4ODowfP54FCxYwatQoQkJCWLJkCSVKlCAkJIRFixbxxhtvsH79epYtW/bSRc3EiRPRaDT07duXmJgYevTowebNm9m+fTsdOnSgU6dOJCUl4eLiQr9+/QD466+/2L59O2q1mrZt29KjRw+qV6+eF2+JMJL21SvySKuTmRojUpd4w9gRcpUpztR4eXkZO4bIISlqCrCjR4/SsmVLHBwcAOjWrRsBAQEZjrGysuKHH35g7969XL58mcjISKysXn4p1ZEjRwgODgagUqVK1K1blxMnTtC/f3+OHDnCsmXLOH/+POnp6Tx69Pi5MvXr16do0aKGcxITE19nuMIE1X+zFPXfLGXsGBbN3J5TY+lbZIjXIwuFCzC9Xp/hY0VR0D7zdNGHDx/i6elJbGwsDRs2xNvb+5X6enYzd0VR0Ol0TJ06lVWrVuHo6MgXX3yBg4OD4din/9pSqVTPtSGEEELkJilqCiBra2u0Wi2NGjVi7969JCQkAI+v+zo7OwOgVqvR6XRcuXIFKysrBg4ciEaj4cCBA+h0L3+pQKPRsH79egBiYmI4duwY9erV49ChQ/Tv35927dpx48YN4uLiniu2hBBCiPwgl58KoFKlSuHo6MikSZP4/PPP8fb2Jj09nVq1ajF+/HgAWrRogZ+fHz/99BM1a9akXbt22NnZ0bBhQ65fv/7SfY4ZM4agoCA2btwIPF6sXLZsWT7//HNGjhxJ8eLFKVWqFE5OTsTGxubqeIUQQoicUClyTUCYoNTUVKKjoyl3/DfZ+0mIbMiaGvMi4884/ie/C5ycnHK0gFxmaizcv//+y9ChQzN9LTg4mNq1a+dzoozK9P7KpO6EEMLUKFotKmv5US4ESFFj8SpXrsyWLVuMHUM8Q/5ak/HndPxS0Ajxf2ShsBBCCCHMghQ1QgghhDALUtQIYYIs+dILyPhzMn5Fm5YPSYQoWORirDBpN1YMR52aZOwYQpicSkNXGjuCECZHZmqEEEIIYRakqMlnv/zyC9u3bwdg9OjRhofZPW3+/PnMnz8/v6PluVfdokEIIYTICSlq8tlff/1FWpplXguPjIw0dgQhhBBmTNbUZCMiIoJFixahKAr//vsvbdq0oVixYvz6668ALFmyhFOnTjFnzhz0ej2VKlViwoQJlC5dGldXVzw8PPjjjz949OgR33//Pffv32fv3r0cOXKEMmXKALB//37WrFnDnTt3GDhwIN26dTP0v27dOo4cOcLMmTMBWLBgAba2tvj5+WWad+PGjezZs4fExETu3LlDy5YtGT16NDqdjnHjxnH+/Hni4+OpUqUKCxYsYNGiRej1eoYPHw5AQEAAzZo148CBAxQuXJioqCiSkpL49ttv2bJlC2fOnKF169aGNqdNm0ZkZCQ6nY7OnTvj6+tLREQEixcvxs7OjosXL1K9enVmzJjBtGnTAOjatSvr1q3Ls6+ZyB3Hb6aw6fR9UrSyj5epsj7qY+wIeSI1NdUkH7hpb2+Pr68vGo3G2FFENqSoeYETJ06wY8cOSpYsSZMmTRg1ahQbN24kICCAkJAQfvnlF9auXUvFihVZunQpEyZMYN68eQCULFmS9evXs2rVKhYvXsz8+fNxdXWlUaNGNGvWjB07dpCWlsa6des4f/48Pj4+GYoaNzc3Zs+ezcOHD7G3t2fbtm2sXJn94sDo6Gg2b95M8eLF8fHx4X//+x8ODg7Y2Njwyy+/oNfr6dOnD7///juenp706dOHYcOG8ejRI8LDwxk/fjwHDhzg1q1bbN26lU2bNhEQEMDu3bspVKgQzZs3Z/DgwYZLaJs2bSItLY3+/fvj5OQEPJ6NCgsLo2zZsnh5efHHH38QGBjIqlWrpKApIMLOJ3E1Md3YMUR2Hl4zdgKLExoaKkWNiZOi5gXee+893nzzTQAcHBxo3LgxAI6Ojuzdu5c6depQsWJFALp168aSJUsM5zZr1gyAatWqsWfPnkzbb9WqFSqVimrVqnHv3r0MrxUpUgQXFxf27NlDpUqVqFSpEuXKlcs2r6urK6VLlwYeF0VHjhwhKCiIkiVLsnr1ai5dusSVK1dITk6mUqVKVKhQgaNHj3L9+nVcXFywtbUFoHnz5oZxVqtWjVKlSgGPC7XExETCw8M5ffo0R44cASA5OZmzZ8/y7rvvUq1aNcqXLw9A1apVSUxMzMlbLUxIu2rFSNHKTI0psy5Z3tgR8oQpz9R4eXkZO4Z4ASlqXsDGxibDx2q12vDvZ/cCVRQFrVZr+PjJ/5gqlSrL9p+0l9Uxnp6eLFy4kIoVK9K5c+cX5n06n16vR61W89tvvzFv3jx8fHzo3Lkz9+7dM2T39PRk+/btXL9+PcMeUE+P2zqTx7DrdDr8/f355JNPALh79y729vacOHEiww8klUr13PskTF+98nbUK29n7BgiG+Z6S7elb5EhXo8sFH4NderU4cSJE8TGxgKP72xydnbO9hy1Wo1Op8txHx9++CE3b94kIiKC1q1bv/D4AwcOkJSURGpqKjt27KB58+aEh4fTrl07PD09KV26NEePHjVkaNu2LeHh4cTHx1O3bt0c59JoNISGhpKens7Dhw/p2bMnJ06cyPYctVqdoegTQgghcpPM1LyG0qVLM2HCBIYMGUJ6ejqOjo5MmjQp23OaNGnCrFmzKFasWI77+fjjj0lISDBcGspOqVKl+Oyzz7h37x4dO3akWbNmlC1blhEjRrBr1y5sbW2pV6+eoRCzs7OjXr16vPfeeznOA9C9e3euXr1Kp06d0Gq1dO7cGWdnZyIiIrI8p1WrVnTs2JGNGzea5PSyEEKIgk2lyLUBk6UoCunp6fTt25dvv/2WWrVqZXv8xo0biYyMZOrUqTlu/+HDh3Tr1o2ff/7ZcEeWKUhNTSU6OppSUf+RJwoLkQm5/GSeZPwZx//kd4GTk1OO/hiWmRoTdvv2bdq3b0/Xrl0NBc3OnTtZvHhxpsf36dPnpdo/deoUAwYMYPDgwSZV0AghhBCvQooaE1a2bFmOHj2a4XNubm64ublleU5OFhM/UadOHZN/IN6bfWbJpSohMqFo01BZv/iStBCWRBYKC2GCoqKijB3BqGT8Lx6/FDRCPE+KGiGEEEKYBSlqhBBCCGEWpKgRwgRZ8t0PYLrj12stczNaIQoKWSgsTNq5VQOwSpNtFoRpqDVoq7EjCCGyITM1QgghhDALUtSYkbVr17J27dpcbXP06NFs3LjxlfpydXU1PLlYCCGEyGty+cmM9OjRwyz7EkIIIXJCihojunnzJiNGjCA5ORkrKysCAwNJTk5m6tSpKIqCo6MjM2fOxN7ensmTJxMeHo5KpcLDwwM/Pz8iIiKYPn06er2eatWqUbFiRQCGDh3KRx99RJs2bYiKikKtVjNnzhwqVapEREQEwcHBqNVq6tWrx8WLF1m1alW2Offv38+aNWu4c+cOAwcOpFu3bsyfP9/Q186dO5k3bx6FCxfm/fffR6fTGbZq+OGHHzh9+jSPHj1i2rRpL7Vppng5f9/QsuOfdFK1svNJXrE94pMv/aSmpprdQyft7e3x9fVFo9EYO4owY1LUGNH69etp0aIFAwYMICIigsjISH7++WeWLVtGzZo1mTVrFps2bcLKyoobN26wdetW0tLS8Pb25r333qNw4cJcuXKFffv2UaxYMUOhAY+3WGjcuDFjx45l6tSprF69mm+++YaRI0eyePFiatSoQXBwcI5ypqWlsW7dOs6fP4+Pjw/dunUzvHb37l0mT57Mhg0bKFOmDF9++SVFixY1vP7uu+8yZcoU/vvf/7Js2TLmzZuXe2+gyOC3c+nEJuiNHcO8Pbhm7AQFWmhoqBQ1Ik9JUWNEjRs3ZujQoZw+fRoXFxc++OADwsLCqFmzJgDDhw8H4Msvv6RTp06o1WoKFy6Mu7s74eHhuLq6UqVKlSx3/G7WrBkA1apV488//+TcuXOUKlWKGjVqANClS5cX7ioOj3fXVqlUVKtWjXv37mV47c8//6R+/fqUK1cOgE8//ZRff/3V8Hrr1q2Bx8XN7t27X+btES+p1Xs2pGhlpiYv2ZZwzJd+zHWmxsvLy9gxhJmTosaIGjRowI4dO9i/fz87d+7k4cOHGV5PSkri4cOH6PUZ//pWFAWdTgeAnZ1dlu0/+aGoUqlQFAW1Wv1cWzmhVqsN7TzLysoq2zazO1fkrlpvWlPrTflfOi/VGpQ/O2Nb+k7NQrwqufvJiKZNm8aWLVvo1KkTQUFBnDt3jrt373LhwgUAli5dytq1a9FoNGzevBmdTsejR4/Ytm0bzs7OL93fO++8w/379zl79iwA27Zte+0xfPDBB5w6dYpbt26hKAo7d+6UAkYIIYRRyJ91RuTt7c0333zDpk2bUKvVfPfdd5QuXZqRI0eSnp5O5cqVmTZtGra2tly5coWOHTuSnp6Oh4cHH3/8MRERES/Vn62tLdOmTWPUqFFYWVlRpUqVbGd6cuKNN94gMDCQfv36YWtrS8WKFSlevPhrtSmEEEK8CpWiKHIB3kLo9XpmzJjBkCFDsLe3Z/ny5cTFxTF69OhXbvPevXusWrWKIUOGYGVlRXBwMG+99Rbe3t6vlTU1NZXo6Ghs/5ojTxQWJiO/nihsyZefLHnsION/dvxPfhc4OTnlaJ2ZzNRYECsrK0qWLEmXLl2wsbGhQoUKTJo0ie+//57Dhw8/d7yTk9MLFxKXLFmS+/fv06FDB9RqNbVq1ZLFgEIIIYxCihoL4+fnh5+fX4bPjRo16pXbU6lUBAYGvm6sLL3nvdTs7gIRBZdem4aVta2xYwghsiALhYUwQVFRUcaOYFSmOn4paIQwbVLUCCGEEMIsSFEjhBBCCLMgRY0QJsiS734Ayx2/Xptm7AhCFGiyUFiYtL/W9Ie0BGPHECJfaD7fbuwIQhRoMlMjhBBCCLMgRY2F2bt3L8uXL8+z9mNjY3F1dc2z9oUQQoisyOUnC/P3338bO4IQQgiRJ6SoKUAiIiKYP38+1tbW3Lhxgzp16jBp0iS2bdvG8uXLUalU1KpVi7Fjx2Jra8u3337L+fPnAejZsycffPABISEhADg6OuLp6ZlpP6mpqYwfP56oqChsbGwYNGgQbm5uHD9+nEmTJpGamoqDgwMTJkzgrbfe4p9//mHMmDEA1KhRw9BOfHw8QUFB3Lx5E5VKxTfffEOTJk3y+F0SueXMdR2//Z1Oarqxk1gOu0M+wOP/By31oZM5Hbu9vT2+vr5oNJp8SCUKCilqCpiTJ0+yefNmqlSpwldffcWSJUvYsmULoaGhODg4MH78eBYsWEDLli1JTExk8+bN3Lt3j++//x4vLy+6d+8OkGVBA7Bq1SqSk5MJCwvjzp07+Pr60rp1a4YPH86cOXOoU6cOYWFhDB8+nA0bNjBq1CgCAgJo0qQJP/zwg2GjzUmTJuHp6UmrVq24desWPXv2ZPPmzRQtWjRf3ivxev44q+X6PdkaLl89uGbsBAVKaGioFDUiAylqCpiGDRvyzjvvANCxY0eGDh1K7969cXBwAKBbt24EBATg5+fH5cuX6d+/P82bN2fEiBE57uPo0aN4eXlhZWVFmTJl2LFjB+fOnaN48eLUqVMHgHbt2hEUFMS1a9e4deuWYQamc+fObNiwAYDDhw9z6dIl5s2bB4BWqyUmJoaaNWvm2vsh8s5H1a1J1cpMTX6yK+EIyExNTmdqZJ858SwpagoYtVpt+LeiKOj1+gyvK4qCVqvFwcGBHTt2cOjQIX7//Xc6derEjh07ctSHtXXGb4urV68+18+Tvuzt7Xl6o/en8+n1elasWEHJkiUBiIuLo3Tp0jnKIIyvhqOaGo7qFx8oco3m85WAZe/UbMljF69P7n4qYKKiooiLi0Ov17N582YCAgLYu3cvCQkJwOPpWGdnZ3777TdGjBhBixYtCAwMxN7enhs3bqBWq9Fqtdn20bBhQ8LCwlAUhTt37tC7d28qVKhAQkICJ0+eBGDnzp04Ojri4OCAo6Mj+/fvB2D79v97zoZGo2HNmjUAXLhwAQ8PDx49epT7b4oQQgiBzNQUOGXLlmXkyJHExcXRtGlTevfujb29Pd7e3qSnp1OrVi3Gjx9PoUKF2L17N+3bt6dQoUJ88sknVK9enfv37zNq1ChKly6Nt7d3pn307NmT4OBgPDw8ABg7dizFihVj9uzZTJw4kUePHlGiRAlmz54NwPTp0wkICGDOnDnUq1fP0E5gYCBBQUG4u7sDMG3aNFlPI4QQIs+olKevHQiTFhERwYIFC1i1apWxo+S51NRUoqOjST85W54oLCzGkycKW/IlGEseO8j4nx3/k98FTk5OOVprJTM1Fmrnzp0sXrw409e2bNmSz2mEEEKI1ydFTQHi7OyMs7NzrrTl5uaGm5tbrrSVl+r3XGaxd4EIy6PXpmFlbWvsGEIUWLJQWAgTFBUVZewIRmWp45eCRojXI0WNEEIIIcyCFDVCCCGEMAtS1Ahhgiz57gcwrfHrtGnGjiCEyCFZKCxM2uFf+qGXW7qFEbUakLMncQshjE9maoQQQghhFmSmRuS6gIAAjh07RufOndm6dSuKouDi4sLIkSNRqVTGjieEEMJMyUyNyHWbNm1i4cKFbNiwgXXr1rFt2zb++usvDh06ZOxoQgghzJjM1IhcNXDgQBRFYdiwYaxZswZ7e3vu3bvHgwcPKF68uLHjWawL13QcOKUlLfu9TEUmVhzwyfc+U1NTTfKhk/b29vj6+qLRaIwdRYhMSVEjctWiRYuoXr26YauF0NBQvv/+e+rUqUONGjWMnM5yHTmj5eY92ebtlSRdM3YCkxIaGipFjTBZUtSIPOXl5UXnzp0JCAhgwYIFDB8+3NiRLJKmhjVp6TJT8yoKF3fM9z5NeabGy8vL2DGEyJIUNSJP3Lhxg+vXr9OgQQOsra1p3749a9euNXYsi/VuBTXvVlAbO0aB1GrAynzv09J3ahbiVclCYZEnkpKS8Pf35/79+yiKwu7du+WHtBBCiDwlMzUiT7z33nv4+fnRvXt31Go1H374IX379jV2LCGEEGZMihqR686ePQtA9+7d6d69u5HTCCGEsBRy+UkIIYQQZkFmaoRJa9LtPyZ5F4iwHDptGmprW2PHEELkgMzUCGGCoqKijB3BqExp/FLQCFFwSFEjhBBCCLMgRY0QQgghzIIUNUKYIEt/pk9+jl+nTcu3voQQeUsWCguT9luoL7r0BGPHEGbMvV+YsSMIIXKJzNQIIYQQwizITI3IdQEBARw7dgx3d3d27dqFSqXCycmJ8ePHY2srd5IIIYTIGzJTI3Ldpk2bWLRoEVu3biUkJIStW7ei1+tZs2aNsaMJIYQwYzJTI3LVwIEDURSF/v37M2LECIoWLQo83gvq+vXrRk4nnrh8TU/4SR1p6Yqxoxjduv0+xo7wnNTU1Nd66KS9vT2+vr5oNJpcTCWE6ZOiRuSqRYsWUb16dfbu3Wv43N27d1m9ejVTpkwxYjLxtD//0XHrrhQ0AAlJ14wdIU+EhoZKUSMsjhQ1Ik/FxcUxYMAAPD09cXZ2NnYc8f99+L6adK3M1AAUKV7B2BGekxszNV5eXrmYSIiCQYoakWcuXrzIZ599Ru/evenXr5+x44inVKlgRZUKsqQOwL3fSmNHeE5UVJTFP6tIiFchRY3IEw8ePKB///4MGzaMjh07GjuOEEIICyB/qok8sX79euLj4/nPf/5Dx44d6dixI3PnzjV2LCGEEGZMZmpErjt79iwAvr6+xg0ihBDCoshMjRBCCCHMgszUCJPWyuvn17oLRIgX0WnTUFvLk66FMAcyUyOECYqKijJ2BKPKz/FLQSOE+ZCiRgghhBBmQYoaIYQQQpgFKWqEMEGW/uC11xm/TpuWi0mEEAWJLBQWJm3bOh+06QnGjiEKkO59dxs7ghDCSGSmRgghhBBmQYqaLERERODt7Z1n7SclJTFo0KA8a9+UWNJYhRBCGI8UNUaSmJjImTNnjB0jX1jSWIUQQhiP2a+pWbJkCWFhYeh0Oj766CP8/f2ZM2cO4eHhJCYm4uDgwPz58ylTpgwajYZatWoRHx/PyJEjAbh69Sp9+vRh7969WFlZERkZyZIlS1i6dGmm/cXGxjJgwAAcHBwoVKgQy5YtY9q0aURGRqLT6ejcuTO+vr4EBwdz69YtBg8eTEBAAD4+PuzduxeA+fPnAzB06NDnMi1btgw7OzsuXrxI9erVmTFjBra2WT9n47///S9btmzh0aNHqFQq5syZQ9WqVXF1daVdu3bs378ftVrN8OHD+c9//sPVq1cZNWoUbm5uxMfHM2bMGK5fv461tTXDhg2jefPmGfIBuLq6snLlSiIjIzl48CCJiYnExMTQtGlTxo0bl2GsP/zwQ659bUXm/o3VE3VST1q6sZMYx859PsaO8NpSU1MzPHTS3t4eX19fNBqNEVMJYfrMuqg5cOAA0dHRrF+/HpVKhb+/PwsXLuTSpUuEhIRgZWXFyJEj2bZtG/369ePevXv4+fnh7OxMREQEAG+99RYVK1YkIiKCxo0bs2nTJjp37pxtv5cvX2bp0qVUrFiRtWvXArBp0ybS0tLo378/Tk5OBAYG4uPjww8//EBsbGyWbT2b6a+//iIsLIyyZcvi5eXFH3/8gaura6bnPnjwgF9//ZVVq1ZhZ2fH3LlzWbNmDWPHjgWgbNmy7Nixg4CAAJYsWcLKlSs5duwYkydPxs3NjYkTJ6LRaOjbty8xMTH06NGDzZs3Zzv2v/76i+3bt6NWq2nbti09evTIMFaR907+oyf+rrFTGM/9pGvGjpAnQkNDpagR4gXMuqgJDw/n5MmThiIkJSUFR0dHRo0axbp167h8+TLHjx+ncuXKhnPq1q37XDuenp5s3bqVevXqceTIEcaPH59tv6VKlaJixYqGDKdPn+bIkSMAJCcnc/bsWcqXL5/jcTydqVq1aoZzq1atSmJiYpbnFS1alJkzZ7Jjxw6uXLnCwYMHqVmzpuH15s2bA+Do6EjZsmWxtrbG0dGR+/fvA3DkyBGCg4MBqFSpEnXr1uXEiRPZZq1fvz5FixY1nJOYmEiRIkVyPFbx+uq8b0W61nJnaooVr2DsCK8ts5kaLy8vIyYSomAw66JGp9PRp08f+vbtC8D9+/c5c+YM/fv3x9fXlzZt2mBlZYWiKIZz7Ozsnmunbdu2zJ49m927d9O8efNsL/c824ZOp8Pf359PPvkEgLt372Jvb098fLzhGJVKlSGDVqvF2to60/ae/kH37HnPunHjBt7e3vTu3ZvmzZtTunRpTp8+bXjdxsbG8O+n+3vi2bYVRUGn06FSqdDr9YbPp6f/32/Pl8kn8kblilZUrmi5y+W6911p7AivLSoqyuKfVSTEqzDrn3wajYYtW7bw8OFDtFotgwcP5u+//6ZRo0b06NGDd999l0OHDqHT6bJtp3DhwjRv3pxZs2a98NJTZhlCQ0NJT0/n4cOH9OzZkxMnTmBtbY1WqwWgePHiJCYmcvfuXdLS0jh48OArj/lpp06d4q233sLX15e6dety4MCBF4712ezr168HICYmhmPHjlGvXj0cHBy4cOECACdPnuT27dvZtvP0WIUQQoi8YtYzNa6urpw5cwYvLy90Oh3NmjXDzc2NIUOG4O7ujo2NDdWrV892TcsT7du359ixY5lenspO9+7duXr1Kp06dUKr1dK5c2ecnZ1JT0/H0dERb29vVq1aRf/+/enSpQvly5endu3arzrkDJo2bcratWtxc3PD1taWOnXqcP78+RyfP2bMGIKCgti4cSMAwcHBlC1bFjc3N3bv3o2bmxu1atXi/fffz7adUqVKZRirEEIIkRdUilwfeCGdTsfs2bMpVaqU4VKWyFupqalER0dz+fQ0eaKweCnm8ERhS778ZMljBxn/s+N/8rvAyckpw/KGrJj1TE1u8fT0xMHBgYULFwLw77//Gm5nflZwcHCuzbTkREpKCt26dcv0tS+//JJWrVrlWxYhhBDCmKSoyYFnb2OuXLkyW7ZsMU6YZ9jZ2ZlMlrzg3nVljqpzIZ7QadNQW2e/mF8IYZ7MeqGwEAVVVFSUsSMY1euMXwoaISyXFDVCCCGEMAtS1AghhBDCLEhRI4QJsuS7HyD3xq/VpeVKO0KIgkEWCguTFrrBm3S5pVu8on599hg7ghAiH8lMjRBCCCHMghQ1QgghhDALUtRYoM8++4y4uLgcHRsbG4urq2seJxJCCCFen6ypsUA//fSTsSOIPHQtVuHkcT1PbZ5usfb/5mPsCK8kNTX1lR46aW9vj6+vLxqNJg9SCWH6pKgpoCIiIpg+fTp6vZ4KFSpgb2/P+fPn0el0fPbZZ3To0IHU1FTGjx9PVFQUNjY2DBo0CDc3N1xdXVm5ciWRkZFs2rSJhIQEWrZsSbdu3QgICODu3bvY2dkRHBxM0aJFDX3Gx8cTFBTEzZs3UalUfPPNNzRp0iTLjBs3biQyMpKpU6cC4O3tzZAhQ3B2ds7z98eS/fO3nrt3jZ3CNCQlXTN2hHwXGhoqRY2wWFLUFGBXrlxh3759LF68mLJly/L999/z4MEDunfvTt26ddm9ezfJycmEhYVx584dfH19ad26dYY24uLi2LlzJ9bW1vj5+dGmTRt69erF77//zsKFC/H39zccO2nSJDw9PWnVqhW3bt2iZ8+ebN68OUPhI4zv/VpWaNNlpgagePEKxo7wSl5npsbLyysPEglRMEhRU4BVqVKFYsWKcfjwYVJSUtiwYQMAycnJnD9/nqNHj+Ll5YWVlRVlypRhx44dz7Xx/vvvY239+Nvg6NGjzJo1CwAXFxdcXFyIjY01HHv48GEuXbrEvHnzANBqtcTExFCzZs28Hqp4CRUqqqhQUW3sGCahX5+Vxo7wSix9p2YhXpUUNQWYnZ0dAHq9nunTp1OrVi3g8WWiEiVKGIqcJ65evcqbb76ZaRuAobgBUBSFixcvZnhdr9ezYsUKSpYsCTye5SldunSW+VQqFYqiGD5Ol6kDIYQQeUjufjIDGo2GtWvXAnDr1i08PDy4ceMGDRs2JCwsDEVRuHPnDr179yYtLesnrH744YeG2ZzDhw8zduzY5/pZs2YNABcuXMDDw4NHjx5l2Z6DgwMXL15EURRiYmI4e/bs6w5VCCGEyJLM1JiBIUOGMG7cODp06IBOp8Pf35/KlSvTs2dPgoOD8fDwAGDs2LHZrn8JCgoiMDCQNWvWULhwYYKDgzO8HhgYSFBQEO7u7gBMmzYt2/aaNGnChg0baNu2LVWqVJHpdCGEEHlKpTx9fUAIE5Gamkp0dDT/nP1etkkQr6ygbpNgyWtqLHnsION/dvxPfhc4OTnlaPG8zNSI17Jz504WL16c6Wtbtmx57fa9PFe90l0gQsDjDS2t1bbGjiGEyCdS1IjX4ubmhpubm7FjmB35ay13xi8FjRCWRRYKCyGEEMIsSFEjhBBCCLMgRY0QJsiSLz1Bzsev1WX9iAIhhOWRNTXCpK3Y4kOq3P0ksjC0125jRxBCmBCZqRFCCCGEWZCiRgghhBBmQYoaC/TZZ58RFxeXo2NjY2NxdXV9pX42btzI6NGjX+lcIYQQ4mXJmhoL9NNPPxk7gngNN2P0nD6mRyv7g3J0t4+xI+SJ1NTUTB86aW9vj6+vLxqNxgiphDB9UtQUUBEREUyfPh29Xk+FChWwt7fn/Pnz6HQ6PvvsMzp06EBqairjx48nKioKGxsbBg0ahJubG66urqxcuZLIyEg2bdpEQkICLVu2pFu3bgQEBHD37l3s7OwIDg7OsLdTfHw8QUFB3Lx5E5VKxTfffEOTJk2yzXn16lV69epl6OObb75BpVLl9dtj1s6f0pN4x9gpTMPD+9eMHSHfhYaGSlEjRBakqCnArly5wr59+1i8eDFly5bl+++/58GDB3Tv3p26deuye/dukpOTCQsL486dO/j6+tK6desMbcTFxbFz506sra3x8/OjTZs29OrVi99//52FCxfi7+9vOHbSpEl4enrSqlUrbt26Rc+ePdm8eXO2m1rGxsayZcsWihYtSp8+ffjtt9+eyyBeTrXaVmjTZaYGoGSxCsaOkCeym6nx8vIyQiIhCgYpagqwKlWqUKxYMQ4fPkxKSgobNmwAIDk5mfPnz3P06FG8vLywsrKiTJky7Nix47k23n//faytH38bHD16lFmzZgHg4uKCi4sLsbGxhmMPHz7MpUuXmDdvHgBarZaYmBhq1qyZZUZXV1feeOMNANq1a0dkZKQUNa+pfCUryleS5XAAQ3utNHaEPGHp22QI8aqkqCnA7OzsANDr9UyfPp1atWoBjy8TlShRwlDkPHH16lXefPPNTNsADMUNgKIoXLx4McPrer2eFStWULJkSeDxLE/p0qWzzfhsm09/LIQQQuQm+XPPDGg0GtauXQvArVu38PDw4MaNGzRs2JCwsDAUReHOnTv07t2btLSsn8D64YcfGmZzDh8+zNixY5/rZ82aNQBcuHABDw8PHj16lG2233//nfv375OamsqOHTteuAZHCCGEeFXyZ7MZGDJkCOPGjaNDhw7odDr8/f2pXLkyPXv2JDg4GA8PDwDGjh2b7fqXoKAgAgMDWbNmDYULFyY4ODjD64GBgQQFBeHu7g7AtGnTsm0P4J133sHPz4/79+/ToUMHPvroo9ccrRBCCJE5laIoirFDCPGs1NRUoqOjibo4TbZJEFky120SLHlNjSWPHWT8z47/ye8CJyenTBfPP0tmasRr2blzJ4sXL870tS1btrx2+306rszRN7KwTFpdGtZqW2PHEEKYCClqxGtxc3PDzc3N2DHMjvy1lrPxS0EjhHiaLBQWQgghhFmQokYIIYQQZkGKGiFMkCVfeoLcGb9Wl/XjC4QQ5knW1AiT9uM2H1K0CcaOIQqggO7meWeUECJrMlMjhBBCCLMgRY3IdQEBAbRp04bNmzfj7u7OJ598wuzZs40dSwghhJmTy08i123atImjR4/i7u7OqlWrePPNN/n888/5/fffcXFxMXY8IYQQZkqKGpGrBg4ciKIofPjhhzRq1IhKlSoB4O7uzq5du6SoyWfx/+q5GKXHEtfM+uz0MXaEV5aamprhoZP29vb4+vqi0WiMmEoI0ydFjchVixYtonr16sycOZP9+/cbPl+2bFni4uKMF8xCXTmpJyne2CmMI/n+NWNHyFWhoaFS1AjxAlLUiDyR2ZZiKpXKCEks29t1rLiYbpkzNQ7FKhg7wivLbKbGy8vLiImEKBikqBF5oly5csTH/98Uwa1btyhbtqwRE1mm0pWtKF3ZMu8HCOi+0tgRXpmlb5MhxKuyzJ92Is/VrVuXy5cvc/XqVXQ6Hdu3b6d58+bGjiWEEMKMyUyNyBOFChVi6tSpDB06lNTUVFxcXGjbtq2xYwkhhDBjUtSIXHf27FkAGjduzNatW42cRgghhKWQy09CCCGEMAsyUyNM2iD3lRnuAhEip7S6NKzVtsaOIYTIRzJTI4QJioqKMnYEo8qN8UtBI4TlkaJGCCGEEGZBihohhBBCmAUpaoQwQZb84LV0S3z8sRAiV8hCYWHSJof14aE2wdgxRD6a0WWXsSMIIQoomakRQgghhFmQokbkuoCAANq0acP27dsBWL16Nd7e3kZOJYQQwtzJ5SeR6zZt2sTJkyextbXlwoULLF68mLfeesvYsYQQQpg5KWpErho4cCCKotC1a1eWLVtGUFAQX331FZs3bzZ2NJOWeFXPjUgd+nRjJzE+n60+pKamWsxDF+3t7fH19UWj0Rg7ihAFnhQ1IlctWrSI6tWrs2XLFqZMmYKnpycVK1Y0diyTd+u4nkfxxk5hGq4lXjN2hHwXGhoqRY0QuUCKGpEnDh06xI0bNwgICCAiIsLYcUxe2XpW6NJkpgagdNEKFjdT4+XlZewYQpgFKWpEnti+fTvnz5+nY8eOJCcnEx8fz9dff82cOXOMHc0klXjLihJvybp9gBldVhIVFWXRz+oRQrwaKWpEnpgyZYrh3xERESxYsEAKGiGEEHlK/jQUQgghhFmQmRqR686ePZvhY2dnZ5ydnY2URgghhKWQmRohhBBCmAWZqREm7dt2KyzmLhjxmGxoKYR4VTJTI4QJioqKMnYEo7FR2xo7ghCigJKiRgghhBBmQYoaIYQQQpgFKWqEMEGW/uC5Z8efJutshBA5IAuFhUkb+L8+JOoSjB1DGNnGjruMHUEIUQDITI0QQgghzIIUNRbi1KlTjBkzJsvX9+7dy/Lly/M0g7e3d562L4QQwrLJ5ScLUbt2bWrXrp3l63///XeeZ4iMjMzzPoQQQlguKWosxJNNJeFxgRMVFcXdu3cJDAykQoUKhISEAODo6Ejbtm2ZMGEC58+fR6fT8dlnn9GhQwc2btzIpk2bSEhIoGXLlvj4+BAUFMTNmzdRqVR88803NGnShPDwcKZPnw5AiRIlmDlzJj/++CMAXbt2Zd26dcZ5EwqI9Mt6Uo7oIN3YSUyHzwYfY0fIdfb29vj6+qLRaIwdRQizIUWNBUpPT+eXX35h7969zJ07l40bN9K9e3cAPD09mTFjBrVq1eL777/nwYMHdO/enbp16wIQFxfHzp07sba2ZtiwYXh6etKqVStu3bpFz5492bx5Mz/++CPjxo2jTp06rFy5kn/++YfAwEBWrVolBU0OpB7To79t7BSm5VrCNWNHyBOhoaFS1AiRi6SosUDNmjUDoFq1aiQkJDz3+uHDh0lJSWHDhg0AJCcnc/78eQDef/99rK2tDcddunSJefPmAaDVaomJiaFVq1YMGTKE1q1b06pVK5o2bZoPozIfhT6wIiVNZmqe9maRCsaOkOvs7e3x8vIydgwhzIoUNRboyV5KKpUq09f1ej3Tp0+nVq1aAMTHx1OiRAm2bduGnZ1dhuNWrFhByZIlgcezOKVLl6ZmzZq0bNmSffv2MX36dE6ePMkXX3yRt4MyIzZVrLCpImv4n7ay40pjRxBCFADyk1MAoFar0Wq1AGg0GtauXQvArVu38PDw4MaNG8+do9FoWLNmDQAXLlzAw8ODR48e0bVrVx4+fIivry++vr78888/z/UhhBBC5DaZqREANGzYkFGjRlG6dGmGDBnCuHHj6NChAzqdDn9/fypXrsyff/6Z4ZzAwECCgoJwd3cHYNq0aRQtWpThw4czevRorK2tKVSoEOPHjwegVatWdOzYkY0bN8rO20IIIXKdSlEUxdghhHhWamoq0dHRLLgxXZ4oLCzuicJRUVEWu1WGJY8dZPzPjv/J7wInJ6cc/TEsl5+EEEIIYRbk8pMwaYs+XiGXqgRpujRs1bbGjiGEMHEyUyOECYqKijJ2BKN6dvxS0AghckKKGiGEEEKYBSlqhBBCCGEWpKgRwgRZ8t0PkHH8aTp5tLIQImdkobAwab57xpGge2DsGMKIwj6db+wIQogCQmZqhBBCCGEWpKgRQgghhFmQouYZp06dYsyYMcaOAUD16tWzfT0mJoZvv/02n9LkzMmTJ5k+fToAGzduZPTo0UZOJIQQwlLImppn1K5dm9q1axs7Ro5cv36dmJgYY8fI4MKFC9y5c8fYMcRT9JeT0EXcRknXGzvKK/HZ6GPsCDlib2+Pr68vGo3G2FGEsFhS1DwjIiKCBQsW4OrqyqZNm7CysqJOnTpMmDCBM2fOEBQUhFarpVChQkyZMoW3336b6tWrc/bsWeDx7ERkZCRTp07l5MmTTJkyhZSUFBwcHBg/fjyVKlXKsu/Y2Fj8/f1JTk6mbt26hs/HxcXx7bffkpSUxO3bt2nfvj0jRowgODiY2NhYxo8fz3fffceSJUsICwtDp9Px0Ucf4e/vj0qlyrK/pk2b0rJlS/7880/KlClDz549WbVqFTdv3mTq1Kk0atSIy5cvExQUREJCAvb29owZM4Y6deowevRoihYtyt9//01cXByDBw/m448/Zt68eSQnJ7Nw4ULKlSvH1atX8fb25vr16zRu3Jjg4ODc+2KJHNH9dQfldoqxY7yyawnXjB0hx0JDQ6WoEcKIpKjJhFarZfHixRw8eBC1Ws348eOJi4tjxYoV9O3bl3bt2rFz506OHz/O22+/nWkbaWlpBAYGsmjRIhwdHTl48CBjx47l559/zrLfiRMn0rlzZ7p27crmzZv55ZdfANi+fTsdOnSgU6dOJCUl4eLiQr9+/QgMDGTBggV89913HDhwgOjoaNavX49KpcLf35+tW7fSsWPHLPuLj4+nRYsWBAcH4+3tza+//sqaNWvYtGkTK1asoFGjRvj7++Pn58cnn3zC8ePH+eqrr9i9ezcAN2/eZM2aNZw7dw4fHx88PT358ssviYyM5IsvvmDjxo3cuHGDzZs3Y29vT+vWrTl//jzVqlV75a+NeHnq+qXQpekL7ExNhSJljB0hR+zt7fHy8jJ2DCEsmhQ1mbC2tqZ+/fp06dKFVq1a0atXL8qVK4eLiwsTJkzg4MGDtGzZkjZt2mTZxpUrV4iJieGLL74wfO7Bg+xvTY6MjGTmzJkAeHh4EBgYCED//v05cuQIy5Yt4/z586Snp/Po0aMM54aHh3Py5Ek6d+4MQEpKCo6Oji8ca/PmzQGoUKGC4dkgjo6O3L9/n4cPH/Lvv//yySefAFCvXj1KlCjBpUuXgMczPSqVivfee4+EhIRM2//www8pWbIkAJUrV+bevXsvzCRyl1WVYlhVKWbsGK9spdzSLYTIISlqsvDjjz9y/PhxDhw4wIABA5gxYwZt27alfv367Nu3jxUrVvD7778bLqcoioJKpUKr1QKg1+upWLEiW7ZsAUCn0xEfH//CfhVFAUClUhkuHU2dOpWYmBg6dOhA69atOXz4sOG4J3Q6HX369KFv374A3L9/H7Va/cL+bG3/b0+dZ49XFOW5fhRFQafTARg2mszuEpe19f99i6lUqufaE0IIIXKL3P2Uibt379KuXTvee+89vvrqK5o2bcrZs2f5+uuvOXnyJN27d+err77in3/+AcDBwYHz58+jKAp79+4F4J133iExMZE///wTgA0bNjBixIhs+23SpAlbt24FYM+ePaSlpQFw6NAh+vfvT7t27bhx4wZxcXHo9XrUarWhiNJoNGzZsoWHDx+i1WoZPHiw4TLRqypatCiVKlViz549ABw/fpz4+PhsLx89nUkIIYTITzJTk4k33niDVq1a0aVLFwoXLsybb75Jp06daNiwIWPGjOHHH39ErVYbblf+5ptvGDhwIKVLl6ZBgwbcu3cPW1tb5s6dy6RJk0hNTaVo0aJ8//332fYbFBSEv78/ISEh1K5dmyJFigDw+eefM3LkSIoXL06pUqVwcnIiNjaWmjVrkpSUhL+/P9OnT+fMmTN4eXmh0+lo1qwZnTp1eu33Yvr06YwbN4758+djY2PD/PnzM8zuPKtOnTosWLCAGTNm8M4777x2/0IIIUROqRS5HiBMUGpqKtHR0cy4vl62SbBwlrhNQlRUlMXu/2XJYwcZ/7Pjf/K7wMnJybDkITsyU5PPvv/+ew4fPvzc552cnJg0aVKu9pWSkkK3bt0yfe3LL7+kVatWudpfXvj5k3E5+kYW5itNl46t2sbYMYQQBYAUNfls1KhR+daXnZ2dYaGyKFjkr7X/G78UNEKInJKFwkIIIYQwC1LUCCGEEMIsSFEjhAky5UtPaTq5ZV8IYZpkTY0waX13zyVB9+jFB4p8s7PTd8aOIIQQmZKZGiGEEEKYBSlqLMjGjRsNDwwUQgghzI0UNUIIIYQwC7KmpoBwd3dnzpw5VK1alW+++YaiRYsyfvx4jh8/zg8//ECDBg3YunUrarWapk2b4u/vz40bNxgwYAAODg4UKlQIDw8PQ3uTJ08mPj6e6dOnZ7rx5dWrV+nTpw979+7FysqKyMhIlixZwtKlS1myZAlhYWHodDo++ugj/P39UalUzJ49m/DwcBITE3FwcGD+/PmUKVMGjUZDrVq1iI+PZ/369djYWO5zR3RX7qCLuAppOmNHeWU+m3zyvI/U1NQ8eeiivb09vr6+aDSaXG9bCGF8UtQUEC4uLoSHh1O1alXOnTtn+PyBAwdo0aIFW7ZsYePGjVhbWzN06FBCQkJwcXHh8uXLLF26lIoVK7Jx40YA5s+fz82bN5k1a1aWO3m/9dZbVKxYkYiICBo3bsymTZvo3LkzBw4cIDo6mvXr16NSqfD392fr1q3Uq1ePS5cuERISgpWVFSNHjmTbtm3069ePe/fu4efnh7Ozc768V6ZMdywW5XbB3vbhWuI1Y0d4LaGhoVLUCGGmpKgpIFq0aMHy5cvRaDS8++67XLp0iTt37nDgwAGqVatG+/btsbOzA8DT05PNmzfj4uJCqVKlqFixoqGdAwcOcPfuXdavX4+1dfZffk9PT0PBcuTIEcaPH8/s2bM5efIknTt3Bh5vxeDo6EjHjh0ZNWoU69at4/Llyxw/fpzKlSsb2qpbt24evCsFj/qDiujSdQV6psax6Bt53kdeztR4eXnlertCCNMgRU0BUb9+fUaOHMnhw4dp1KgRpUqVYteuXaSnp1O8ePHnjtdqHz9L5Emh80SFChUYNmwYEyZMMMyqZKVt27bMnj2b3bt307x5c2xtbdHpdPTp04e+ffsCcP/+fdRqNdHR0XzzzTf4+vrSpk0brKyseHqv1GdzWCr126VQv13K2DFey8p8uKXb0reJEEK8GlkoXECo1Wrq1q3LqlWraNSoERqNhkWLFuHi4oJGo2HHjh2kpKSg1WrZsGFDltPrVatWpWvXrhQuXJjVq1dn22fhwoVp3rw5s2bNMszMaDQatmzZwsOHD9FqtQwePJjdu3dz9OhRGjVqRI8ePXj33Xc5dOgQOl3BnY0QQghR8MhMTQHi4uLC0aNHqVq1KmXKlOHOnTu0aNGCDz74gNOnT+Pp6YlWq6VZs2b07t2bmzdvZtnWuHHj6NGjBx9//DHly5fP8rj27dtz7Ngxw+UjV1dXzpw5g5eXFzqdjmbNmtGpUydu3brFkCFDcHd3x8bGhurVqxMbG5vr74EQQgiRFZXy9DUCIZ6i0+mYPXs2pUqVMlxuyi+pqalER0cz89pv8kRhE5MfTxS29MtPljx+Sx47yPifHf+T3wVOTk45WmcnMzUW7ptvvuHChQvPfd7V1ZV9+/bh4ODAwoULjZBMCCGEeDlS1Fi4mTNnZvnaV199lY9JMre8zVd5cheMeHVpOi22avnRIYQwPbJQWAgTFBUVZewIWZKCRghhqqSoEUIIIYRZkKJGCCGEEGZBihohTJCp3/2QptMaO4IQQjxHLo4Lk9Zv11ISdCnGjiGesaPzN8aOIIQQz5GZGiGEEEKYBSlqhBBCCGEWpKgxEREREXh7exs7RrZGjx7Nxo0bjR1DCCGEyJSsqREiH+mu3EIbeQ7SCvZCW5/NJ/K0/dTU1Fd+6KK9vT2+vr5ZbuoqhDBfUtSYoBUrVvDrr7/y6NEjGjVqRFRUFHfv3iUwMBAXFxfi4+MZM2YM169fx9rammHDhuHk5ISHhwd//PEHAM2aNSMgIAA3NzeWLFmCSqUiJSWFuLg4rl69yrVr1+jatStffPFFljkURWHq1Kns37+fsmXLotPpaNSoEQCbN29mxYoV6PV6atWqxXfffUehQoXQaDTUqlWL+Ph41q9fz7Jly9i6dStqtZqmTZvi7++PWq3Ol/fRFGn/uoRy+76xY7y2a4nJxo6QrdDQUClqhLBAUtSYmA0bNrBnzx5++uknPv/8c9LT0/nll1/Yu3cvc+fOxcXFhYkTJ6LRaOjbty8xMTH06NGDzZs34+joyLlz51Cr1eh0OiIjI3Fzc+PAgQOMGzeOsLAwzp49y+rVq0lKSqJ169b06tWL4sWLZ5pl9+7d/PPPP2zfvp2kpCQ8PDwAOH/+PKGhoYSEhFCoUCFmzpzJsmXLGDRoEPfu3cPPzw9nZ2d+//139u7dy8aNG7G2tmbo0KGEhITQq1ev/HxLTYp1/XfQpmsL/EyNY1GHPG3/dWdqvLy8cjmREKIgkKLGhJw7d46goCBmzZqFvb098HjGBaBatWokJCQAcOTIEYKDgwGoVKkSdevW5cSJE7i4uBAeHo61tTU+Pj7s2LGDpKQkbt++zbvvvguAs7Mztra2lCpVipIlS5KUlJRlURMZGcknn3yCjY0Nb7zxBs2bNwcer/+5evWq4RdHeno677//vuG8unXrGnK2b98eOzs7ADw9Pdm8ebNFFzXqt8uifrussWO8tpV5fEu3pe9ULIR4NVLUmJAiRYowefJkJk+ebChmnvy1qlKpDMcpipLhPEVR0Ol0uLi4sGDBAmxtbfnqq68ICwtj27Zthraebu9Jm8+29TSVSoVerzd8bG39+NtFp9PRrl07AgMDAXj48CE6nc5w3JMi5ulzn9BqC/YMhRBCCNMldz+ZkAoVKtCqVSsaNWrEvHnzsjxOo9Gwfv16AGJiYjh27Bj16tWjVq1aXL58mStXrlC1alWcnZ1ZuHAhLVq0eKU8jRs3ZteuXaSlpZGYmMjBgweBx7M9//vf/7hz5w6KojBu3DhWrFiRac4dO3aQkpKCVqtlw4YNss5BCCFEnpGZGhM0cuRIOnTowKNHjzJ9fcyYMQQFBRlurw4ODqZs2ceXNBo0aGA4T6PRsG7dOsPi3pfVunVrTp06RYcOHShdujRVq1YFoEaNGgwZMoQ+ffqg1+upWbMmfn5+z53fsmVLTp8+jaenJ1qtlmbNmtG7d+9XyiKEEEK8iErJ7vqDEEaSmppKdHQ0s2KPyDYJJiivt0mw9DU1ljx+Sx47yPifHf+T3wVOTk45unlAZmos3J9//snEiRMzfW3JkiWUK1cunxNl9J+2A175LhiRd9J0WmzV8uNDCGFa5KeShfvwww/ZsmWLsWOIZ5j6X2tS0AghTJEsFBZCCCGEWZCiRgghhBBmQYoaIUxQblx6StPJM4GEEJZFLowLk9Zv139J0KUZO0aBtKNz1vt6CSGEOZKZGiGEEEKYBSlqzNjatWtZu3ZtrrY5evRow0P/hBBCCFMil5/MWI8ePYwdQQghhMg3UtSYkJs3bzJixAiSk5OxsrIiMDCQ5ORkpk6diqIoODo6MnPmTOzt7Zk8eTLh4eGoVCo8PDzw8/MjIiKC6dOno9frqVatGhUrVgRg6NChfPTRR7Rp04aoqCjUajVz5syhUqVKREREEBwcjFqtpl69ely8eJFVq1blKO+GDRtYvnw5KpWKWrVqMXbsWGbNmkXVqlXp2bMnoaGhLF++nLCwMNLT02ndujW//vorNjY2efk25jrdlRtoI/+GtIK18NZnc7ixI2TJ3t4eX19f2QtMCJGrpKgxIevXr6dFixYMGDCAiIgIIiMj+fnnn1m2bBk1a9Zk1qxZbNq0CSsrK27cuMHWrVtJS0vD29ub9957j8KFC3PlyhX27dtHsWLFmD9/vqHt27dv07hxY8aOHcvUqVNZvXo133zzDSNHjmTx4sXUqFGD4ODgHGc9e/YsixYtIjQ0FAcHB8aPH8+CBQtwcXFh/fr19OzZk/DwcBITE4mPj+fChQvUq1evwBU0ANq/zqLcTjB2jJd2LfGBsSNkKzQ0VIoaIUSukqLGhDRu3JihQ4dy+vRpXFxc+OCDDwgLC6NmzZoADB8+HIAvv/ySTp06oVarKVy4MO7u7oSHh+Pq6kqVKlUoVqxYpu03a9YMgGrVqvHnn39y7tw5SpUqRY0aNQDo0qULkyZNylHWo0eP0rJlSxwcHADo1q0bAQEBfP311wQFBaHT6bh06RJubm4cPXqUU6dO0bJly9d6f4zFun51tOnaAjdT41i0hLEjZMne3h4vLy9jxxBCmBkpakxIgwYN2LFjB/v372fnzp08fPgww+tJSUk8fPgQvV6f4fOKoqDT6QCws7PLsv0neyipVCoURUGtVj/XVk5llkGr1VKoUCFq1KjBtm3beOedd3B2diY8PJyoqCgGDBjwSn0Zm/rtN1G//aaxY7y0lXJLtxDCwsjdTyZk2rRpbNmyhU6dOhEUFMS5c+e4e/cuFy5cAGDp0qWsXbsWjUbD5s2b0el0PHr0iG3btuHs7PzS/b3zzjvcv3+fs2fPArBt27Ycn9uoUSP27t1LQkIC8PhSwpMMLi4u/PDDDzRq1IhGjRrx22+/UbhwYd54442XziiEEELklMzUmBBvb2+++eYbNm3ahFqt5rvvvqN06dKMHDmS9PR0KleuzLRp07C1teXKlSt07NiR9PR0PDw8+Pjjj4mIiHip/mxtbZk2bRqjRo3CysqKKlWqZDvT87QaNWrw+eef4+3tTXp6OrVq1WL8+PEAtGjRgnHjxtGoUSNKlChBqVKlaNGixcu+HUIIIcRLUSmKohg7hDAOvV7PjBkzGDJkCPb29ixfvpy4uDhGjx5t7GikpqYSHR3NrNjj8kThV1SQnyhs6ruU5zVLHr8ljx1k/M+O/8nvAicnJ8MSiuzITI0Fs7KyomTJknTp0gUbGxsqVKjApEmT+P777zl8+PBzxzs5OeV4IbEQQgiR36SosXB+fn74+fll+NyoUaOMlOZ5/2nbO0fVuXhemk6LrVr+FxdCWA5ZKCyECYqKinrtNqSgEUJYmhwXNffv38/LHEIIIYQQr+WFRc2lS5do37497du3Jy4ujnbt2nHx4sX8yCaEEEIIkWMvLGqCg4P59ttvKVWqFOXKlaN3794EBQXlRzYhLFZu3v2QpitYT0IWQohX9cKL7gkJCTRt2pTp06cD0KtXL0JDQ/M8mBAA/XeFkqBNN3aMAm27Zz9jRxBCiHyRozU1qampqFQq4PHGiK/6aH0hhBBCiLzywqKmR48e9O/fnzt37jBz5ky6detGjx498iOb2YiIiMDb2xuAMWPGcOrUqVdqZ//+/XTv3h0PDw86dOjAnDlzXqvAzCxXUlISgwYNMhxTvXp1+vfvn+G8u3fvUqtWrQy7gAshhBDG9sLLT127duXtt99m//79aLVaJkyYwEcffZQf2czSqz687sCBA0yYMIFly5ZRpUoVUlJS+Prrr5k3bx5ff/11ruWKjY3lzJkzGV67cuUKiYmJlCjxeNfnPXv2ULx48dfuUwghhMhNLyxq+vTpw4oVK2jYsGF+5DFpS5YsISwsDJ1Ox0cffYS/vz9z5swhPDycxMREHBwcmD9/PmXKlEGj0VCrVi3i4+MZOXKkoQ1vb2+GDBmCs7Nzpu09fPiQ4cOHEx8fD8DgwYNp1aoVixYtYsiQIVSpUgV4vBv3uHHjuHTpkqHdEiVKcP78eebMmcPt27eZN28eWq2WihUrMnHiRBwcHPjjjz+YMmUKhQoVMrT1dK7ly5dz69YtBg8ezA8//ACAq6srv/76K56engDs3r2bjz/+2HDu8ePHmTRpEqmpqTg4ODBhwgTeeustvL29qV27NlFRUdy9e5fAwEBcXFzy9oskhBDCYr2wqElKSiI5ORl7e/v8yGOyDhw4QHR0NOvXr0elUuHv78/ChQu5dOkSISEhWFlZMXLkSLZt20a/fv24d+8efn5+ODs7Z7rRZGbtbd26Fb1eT4UKFViyZAkXL15k/fr1tGrVitOnT1O3bt0MbZQvX57y5csbPq5evToLFizg7t27jB49mpUrV1KiRAlCQkKYMWMG3333HaNHj2bFihVUrVqVMWPGPJcrMDAQHx8fQ0ED0K5dOxYtWoSnpye3b99GURTKlCkDQFpaGsOHD2fOnDnUqVOHsLAwhg8fzoYNGwBIT0/nl19+Ye/evcydO9csixrdlWukHz0Jaaa5oNlny35jR8iSvb09vr6+aDQaY0cRQpiBFxY1hQsXpmXLllSvXj1DYbNo0aI8DWZqwsPDOXnyJJ07dwYgJSUFR0dHRo0axbp167h8+TLHjx+ncuXKhnOeLUJy0p6npyezZs0iLi6OFi1aMHjwYABUKhUv2nu0Tp06AJw4cYIbN27g4+MDPN64skSJEpw9e5ayZctStWpVADp16sTcuXNfOPb69etz+fJlkpKS2L17N23atDHMJF25coXixYsb+m7Xrh1BQUEkJSUB0KxZMwCqVatGQkLCC/sqiLTH/0G5fdfYMbJ0LTHJ2BGyFRoaKkWNECJXvLCo6dKlS37kMHk6nY4+ffrQt29f4PETls+cOUP//v3x9fWlTZs2WFlZZSg87OzsXqo9tVpNkSJFCAsL4+DBg+zbt4///Oc/hIWF4eTkRHR0NO+++66hjcuXL7Nw4UKmTZuWoT+dTscHH3xgKDxTU1N5+PAh169fz7CwWK1W52jsKpWKli1b8ttvv7Fnzx7mzJnD6tWrATJdqKwoCjqdDsCwb9OTu+fMkXW990lP15rsTI1jUdNd/2Rvb4+Xl5exYwghzMQLi5pOnTrlRw6Tp9FomDdvHl5eXhQqVIjBgwfj6upKo0aN6NGjB0lJSYwbN46WLVu+cnudOnUiOTmZmJgYAgICaN68OS1btiQpKYkBAwYwYcIE6tWrx9tvv83Dhw+ZOnUqNWrUeK7tunXrEhgYyOXLl6lSpQo//vgjcXFxTJw4kTt37nDmzBlq1KjBjh07njvX2toarfb5h7W1a9eOKVOmUKxYMd544w3D59955x0SEhI4efIkderUYefOnTg6OlKyZMmcv7kFnPrtCqjfrmDsGFlaKc+pEUJYiBcWNfXr18/0r+xjx47lSSBT5erqypkzZ/Dy8kKn09GsWTPc3NwYMmQI7u7u2NjYUL16dWJjY1+5vU6dOhkWCru7u2Ntbc2QIUMoXrw4zZs3Z9iwYQwbNgydTodWq6Vt27YMGTLkubbLlCnD5MmT+frrr9Hr9ZQrV47p06djY2PDrFmz8Pf3x9ramvfff/+5c0uVKoWjoyPe3t6sWrXK8Pl69epx+/ZtunbtmuF4W1tbZs+ezcSJE3n06BElSpRg9uzZL/nuCiGEEK9Ppbxgoca1a9cM/05PT2fPnj2o1ernnl0iRG5KTU0lOjqa2bH/yBOFX1NBfKJwVFRUrm4VUdBY8vgteewg4392/E9+Fzg5ORmWM2TnhQ/fq1ChguG/t99+Gz8/P3bt2vV6qYUQQgghctkLLz896+LFi9y5cycvsgjxnGVtvXJUnYuspem02Kpf+n91IYQocF5qTY2iKKSnpzNixIg8DyaEJcvNKWgpaIQQluKFP+22b99u+LdKpaJ48eIULVo0T0MJIYQQQrysF66p+e677wxrahwdHSlatKg8V0IIIYQQJifLmZovv/ySy5cvExMTg7u7u+HzWq0WK6sX1kJCiNeQF3c/pOl02ObwgYtCCFEQZVnUjBw5kmvXrjF27FjGjh1r+LxaraZatWr5Ek6I/mFb5JbuXLK9Sy9jRxBCiDyVZVFTsWJFKlasyK5du56bmUlOTs7zYEIIIYQQL+OFC4X37t3LvHnzSE5ORlEU9Ho9CQkJ/PXXX/mRT5ioU6dOERISwqRJk4wdRQghhAByUNRMmzaNr7/+mrVr1/LZZ5/x66+/UqRIkfzIJkxY7dq1qV27trFjCCGEEAYvLGoKFy6Mm5sbp0+fplChQowbNw5PT8/8yCbyWEREBNOnT0ev11OhQgXs7e05f/48Op2Ozz77jA4dOpCens53331HVFQU5cqVQ6VSMWjQIAAWLFjAqlWruHz5MkFBQSQkJGBvb8+YMWOoU6cOo0ePpmjRovz999/ExcUxePBg+d4RQgiRZ15Y1Nja2pKWlkblypU5ffo0zs7OpKWl5Uc2kQ+uXLnCvn37WLx4MWXLluX777/nwYMHdO/enbp167J//34ePXrErl27uH79eoY74Z7w9/fHz8+PTz75hOPHj/PVV1+xe/duAG7evMmaNWs4d+4cPj4+ZlnU6K7GkB55DNJNe0Gzz9bdxo6QLXt7e3x9fdFoNMaOIoQooF5Y1LRq1Qo/Pz+mTp1K9+7diYqKomTJkvkQTeSHKlWqUKxYMQ4fPkxKSgobNmwAHi8GP3/+PIcOHcLLywuVSkWFChVo3LhxhvMfPnzIv//+yyeffAI83s27RIkSXLp0CYCmTZuiUql47733SEhIyNex5Rft8VMo8aa/dci1xPvGjvBCoaGhUtQIIV7ZC4uagQMH4uHhQfny5fnxxx85evQoHTp0yI9sIh/Y2dkBoNfrmT59OrVq1QIgPj6eEiVKsGHDBvR6fZbnK4rCsxu9K4qCTqcDMOzb9GSrDXNkXa826WnpJj9T41i0mLEjZMve3l4e7CmEeC052hTm5MmT/PLLLwwcOJBLly5RqlSpvM4l8plGo2Ht2rUEBwdz69YtPv30U0JCQmjSpAk7d+6kVatW3Lp1i8jISPr06WMoZIoWLUqlSpXYs2eP4fJTfHy8RT3LSP1WJdRvVTJ2jBdaKc+pEUKYuRcWNUuWLOHQoUPcvHkTX19fFixYwNWrVxk8eHB+5BP5ZMiQIYwbN44OHTqg0+nw9/encuXKeHl5cebMGdzd3SlTpgyOjo7Y2dnx6NEjw7nTp09n3LhxzJ8/HxsbG+bPn4+tra0RRyOEEMISvbCo2bFjB+vWrcPLywsHBwdCQ0Pp1q2bFDVmwNnZGWdnZ+DxjMuMGTOeO+bQoUO4uroyceJEkpKS+PTTT6lcuTIlS5Y0nFu1alVWrVr13LlTp07N8PHZs2fzYBRCCCHEYy8saqytrTP81V28eHGsrXN01UqYgapVqzJy5EjmzJkDPN4TTBaKCyGEMEUvrE7efPNN9u/fj0qlIi0tjWXLllGhQoX8yCZMQKVKlVi7dq3R+l/WrqNhsbF4PbKhpRDC3GW53faTv8z79OnD8uXLOXv2LPXq1ePAgQMZNrgUQuS+qKioXG9TChohhLnLcqZm+/bt9OjRg4kTJ7Jy5UqSk5NRqVQULlw4P/MJIYQQQuRIlkVN06ZNadGiBYqiZHjgmqIoqFQqTp8+nS8BhRBCCCFyIsvLT+PHj+f06dM0aNCA06dPG/47c+aMFDRC5LEGDRq81vlp///hh0IIYUleuFB49erV+ZFDiEz13xlGglZr7BgFzvauXYwdQQgh8l2WMzVCCCGEEAWJFDUiR7y9vYmIiDB2DCGEECJLUtQIIYQQwizIo4HFcxRFYcaMGfz666+o1Wq6detmeE2r1TJu3DjOnz9PfHw8VapUYcGCBWi1WoYPH058fDwAgwcPplWrVixfvpxNmzZhZWVFnTp1mDBhgrGGJYQQwsxJUSOes2vXLo4dO8a2bdtIT0+nZ8+epKamAvDXX39hY2PDL7/8gl6vp0+fPvz+++8kJydToUIFlixZwsWLF1m/fj0uLi4sXryYgwcPolarGT9+PHFxcZQrV87II8wfuqtXST8aCenp+d63z7atedq+vb09vr6+aDSaPO1HCCFehhQ14jlHjx6lXbt22NraYmtry5YtW/D29gagYcOGlCxZktWrV3Pp0iWuXLlCcnIy9evXZ9asWcTFxdGiRQsGDx6MtbU19evXp0uXLrRq1YpevXpZTEEDoD1+HOX/z1zlt2uJiXneR2hoqBQ1QgiTIkWNeM6zG5bGxsaSnJwMwG+//ca8efPw8fGhc+fO3Lt3D0VRePvttwkLC+PgwYPs27eP//znP4SFhfHjjz9y/PhxDhw4wIABA5gxYwaNGjUyxrDynXW9eqSnpxllpsaxaNE8bd/e3h4vL6887UMIIV6WFDXiOQ0bNmTlypX06NEDrVbLgAEDePDgAQDh4eG0a9cOT09P4uLiOHr0KI0bN+a///0vMTExBAQE0Lx5c1q2bMm9e/fo2bMnGzZsoH79+ty8eZOzZ89aTFGjfust1G+9ZZS+V8pzaoQQFkiKGvGcjz/+mOjoaDp37oxer8fHx4ewsDAAunbtyogRI9i1axe2trbUq1eP2NhYPvvsM4YPH467uzvW1tYMGTKEN954g+7du9OlSxcKFy7Mm2++SadOnYw8OiGEEOZKihqRqWHDhjFs2DDDxz179jT8e9u2bZmes2TJkuc+5+vri6+vb67nE0IIIZ4lz6kRQgghhFmQmRph0pa5taNQoULGjlHgpOl02KrVxo4hhBD5SmZqhDBBUVFRr3W+FDRCCEskRY0QQgghzIIUNUIIIYQwC1LUCGGCGjRokONj03S6PEwihBAFhywUFiZtQNheErXySzs7W7t0MHYEIYQwCTJTI4QQQgizIEWNeClJSUkMGjSIuLg4PvvsMwD27t3L8uXLAZg/fz7z5883ZkQhhBAWSi4/iZeSmJjImTNnKFeuHD/99BMAf//9t5FTCSGEEFLUiJcUHBzMrVu3GDx4MKdPn2bJkiWEhIQA4OjomOHYAwcOMG/ePLRaLRUrVmTixIk4ODgYI7YQQggLIEWNeCmBgYH4+PgQEBCAj48P7777Lt27dwfA09PTcOnp7t27zJw5k5UrV1KiRAlCQkKYMWMGkyZNMmb8PKG9eon0yHCU9DSj9O+zNdQo/QLY29vj6+uLRqMxWgYhhHhCihqRJ06cOMGNGzfw8fEBQK/XU6JECSOnyhvpx6PQx98yWv/XEhOM1jdAaGioFDVCCJMgRY3IEzqdjg8++IBFixYBkJqaysOHD42cKm/Y1GtAelqa0WZqHIsWMUq/8HimxsvLy2j9CyHE06SoES/F2toarVab4XNqtZrU1NQMn6tbty6BgYFcvnyZKlWq8OOPPxIXF8fUqVPzM26+sH7rHazfesdo/a+U59QIIQQgRY14SaVKlcLR0ZGAgADD5xo2bMioUaMoXbq04XNlypRh8uTJfP311+j1esqVK8f06dONEVkIIYSFkKJGvBQbGxvD3U5PNGzYkL179z53rKurK66urvkVTQghhIWTh+8JIYQQwizITI0waUvbuVKoUCFjxzBpaTodtmq1sWMIIYTRyUyNECYoKioqx8dKQSOEEI9JUSOEEEIIsyBFjRBCCCHMghQ1QpigBg0aZPg4TaczUhIhhCg4ZKGwMGl+YYdI1OqNHcPoNndpbewIQghh8mSmRgghhBBmwSSLmoiICLy9vfOs/aSkJAYNGpRn7ZuSnI71f//7H+7u7rRv357Ro0eTlmacfYyEEEKIV2WSRU1eS0xM5MyZM8aOkS9yMtbk5GQmTJjA8uXL2bFjB6mpqWzatCmfEgohhBC5I0+LmiVLltCpUyc8PDyYNm0aiqIwe/ZsvLy8aNOmDd27d+f27dsAaDQa+vfvT8eOHQ0bJl69epUWLVqg1z9eUxEZGcmAAQOy7C82Npa2bdvSo0cPfH190el0TJkyxZDh559/BiA4OJhbt24xePBgYmNjMzzKf/78+cyfP/+5TIcOHaJfv34MGjSINm3a8OWXX75wNuO///0vXbt2pUOHDri7u3Px4kXg8fYB06dPp3379nh4eLB//358fHxwcXFh586dAMTHx/P555/j7u5Op06dOHDgwHP5nrQVGxvLxo0bGTZsGP369ePjjz9m3Lhxz401K/b29uzdu5fSpUuTnJzMnTt3KF68eK5kDQwMxNvbG1dXVxYuXJjt+yWEEEK8jjxbKHzgwAGio6NZv349KpUKf39/Fi5cyKVLlwgJCcHKyoqRI0eybds2+vXrx7179/Dz88PZ2ZmIiAgA3nrrLSpWrEhERASNGzdm06ZNdO7cOdt+L1++zNKlS6lYsSJr164FYNOmTaSlpdG/f3+cnJwIDAzEx8eHH374gdjY2CzbejbTX3/9RVhYGGXLlsXLy4s//vgjy72NHjx4wK+//sqqVauws7Nj7ty5rFmzhrFjxwJQtmxZduzYQUBAAEuWLGHlypUcO3aMyZMn4+bmxsSJE9FoNPTt25eYmBh69OjB5s2bsx37X3/9xfbt21Gr1Ybi7umxZsfGxobff/+dkSNHUrZsWT766CPDa6+T9ezZs6xevZqkpCRat25Nr169DAWTqdJevUBq5EGU9NQXH5xPfLauNFrf9vb2+Pr6otFojJZBCCFyIs+KmvDwcE6ePGkoQlJSUnB0dGTUqFGsW7eOy5cvc/z4cSpXrmw4p27dus+14+npydatW6lXrx5Hjhxh/Pjx2fZbqlQpKlasaMhw+vRpjhw5Ajy+zHL27FnKly+f43E8nalatWqGc6tWrUpiYmKW5xUtWpSZM2eyY8cOrly5wsGDB6lZs6bh9ebNmwPg6OhI2bJlsba2xtHRkfv37wNw5MgRgoODAahUqRJ169blxIkT2WatX78+RYsWNZyTmJhIkSJFcjxWFxcXIiIimDVrFuPGjWPmzJmvndXZ2RlbW1tKlSpFyZIlSUpKMvmiJu14BPr4m8aOkcG1xHtG7T80NFSKGiGEycuzokan09GnTx/69u0LwP379zlz5gz9+/fH19eXNm3aYGVlhaIohnPs7Oyea6dt27bMnj2b3bt307x5c2xtbbPt9+k2dDod/v7+fPLJJwDcvXsXe3t74uPjDceoVKoMGbRaLdbW1pm29/QeRM+e96wbN27g7e1N7969ad68OaVLl+b06dOG121sbAz/frq/J55tW1EUdDodKpXKcDkOID09/ZXyPS0hIYHo6GjD7Iy7uzvDhg177ayvk8mYbOs5k5qWZlIzNY5F7Y3Wt729PV5eXkbrXwghcirPihqNRsO8efPw8vKiUKFCDB48GFdXVxo1akSPHj1ISkpi3LhxtGzZMtt2ChcuTPPmzZk1a1aGtSQ5zRAaGkrLli1JS0ujZ8+ejB8/nrfeesuwbqd48eIkJiZy9+5dihYtysGDB1+YKSdOnTrFW2+9ha+vL2lpaSxatIg33njjpbKvX7/ecEnn2LFjjBs3jtu3bxsuz508edKwJikr1tbWhrFmRVEU/P392bBhA46OjoSFhfHBBx+8dtazZ8/muA1TYv3Wu1i/9a6xY2SwUp5TI4QQL5RnRY2rqytnzpzBy8sLnU5Hs2bNcHNzY8iQIbi7u2NjY0P16tWzXdPyRPv27Tl27Fiml6ey0717d65evUqnTp3QarV07twZZ2dn0tPTcXR0xNvbm1WrVtG/f3+6dOlC+fLlqV279qsOOYOmTZuydu1a3NzcsLW1pU6dOpw/fz7H548ZM4agoCA2btwIPF7wW7ZsWdzc3Ni9ezdubm7UqlWL999/P9t2SpUqlWGsmXFwcGDixIl8/vnnqFQq3n333Rde5stJViGEECI/qRQTvx6g0+mYPXs2pUqVMlzKEuYvNTWV6Oho5sUkyhOFsbwnCkdFRT23VYQlseTxW/LYQcb/7Pif/C5wcnLKsJwhKya/TYKnpycODg6G24H//fdfhg4dmumxwcHBuTbTkhMpKSl069Yt09e+/PJLWrVqlW9ZXqQgZRVCCCFehckXNc/exly5cmW2bNlinDDPsLOzM5ksL1KQsj5tSbumOarOzV2aToetWm3sGEIIYdIs8onCQpi6qKioDB9LQSOEEC8mRY0QQgghzIIUNUIIIYQwC1LUCGGCnl79n6aTu7+EECInTH6hsLBsA3dFkZj9swPN3kbPJsaOIIQQBYLM1AghhBDCLEhRY8ZOnTrFmDFjcnx89erVX6mfgIAArl279krnCiGEELlFihozVrt2bSZNmpTn/URERBSIjSqFEEKYN1lTY8YiIiJYsGAB8LjAiYqK4u7duwQGBuLi4kJsbCz+/v4kJydn2FfrycahT57c7OrqysqVK3nw4AFBQUFotVoKFSrElClT2LNnD7du3cLPz4/Vq1fj6elJnTp1OH36NBqNhhIlSjB8+HDg8YzOkz3AhBBCiNwmRY2FSE9P55dffmHv3r3MnTsXFxcXJk6cSOfOnenatSubN2/ml19+ybaNFStW0LdvX9q1a8fOnTs5fvw4fn5+hISEsGTJEhwcHABo3rw5c+bMISYmhj59+jBs2DAePXpEeHj4S22UaWzpV86ScnQvpKUaNYfPlkX53qe9vT2+vr5oNJp871sIIV6VFDUWolmzZgBUq1aNhIQEACIjI5k5cyYAHh4eBAYGZtuGi4sLEyZM4ODBg7Rs2ZI2bdpketyTWZ9KlSpRoUIFjh49yvXr13FxccHW1jaXRpT3Uo//gf72dWPH4FqicfoNDQ2VokYIUaBIUWMhnuyfpFKpMnz+yVoYlUpleE2lUqHX/9+zUdLT0wFo27Yt9evXZ9++faxYsYLff/+d4ODgLPuCxxuSbt++nevXr2e5EampKlTvI1LS04w+U/NmUbt879Pe3h4vL69871cIIV6HFDUWrEmTJmzdupVevXqxZ88e0tLSAHBwcCAiIgKAkydPcvv2bQC+/vpr2rdvT/fu3alatSpTpkwBQK1Wo9PpMu2jbdu2/PDDDxQpUiTDup2CwObt6ti8/Wp3hOWmlfKcGiGEyBG5+8mCBQUFsXv3btzd3fn9998pUqQIAG5ubiQkJODm5saqVat4//33ARg4cCCLFi2iU6dOfP/994wePRqAFi1a4OfnR0xMzHN92NnZUa9ePdq3b59/AxNCCGGRVIrciyvyiKIoPHz4kG7duvHzzz9TpkyZHJ+bmppKdHQ0C2JT5YnCFjhTExUVlWGrCEtjyeO35LGDjP/Z8T/5XeDk5JRhaUNWZKZG5JlTp07h6uqKl5fXSxU0QgghxKuQNTUiz9SpU4fIyMjXamNR2wY5qs7NWZpOj61a/v4QQogXkZ+UQpigqKgow7+loBFCiJyRn5ZCCCGEMAtS1AghhBDCLEhRI4QRpen0Lz5ICCFEjshCYWHSBu86Q6JW9eIDC6h1nnWMHUEIIcyGzNQIIYQQwixIUZPHIiIi8Pb2BmDMmDGcOnXqldrZv38/3bt3x8PDgw4dOjBnzpwM+zPlRq6kpCQGDRoEwLJly+jatWuGPs6dO0fjxo25efPmK/crhBBC5BUpavLRpEmTqF279kufd+DAASZMmMCUKVPYunUr69ev58yZM8ybNy9XcyUmJnLmzBkAfH19Afjvf/8LgF6vJzAwkFGjRlG+fPlc6VcIIYTITbKmJoeWLFlCWFgYOp2Ojz76CH9/f+bMmUN4eDiJiYk4ODgwf/58ypQpg0ajoVatWsTHxzNy5EhDG97e3gwZMgRnZ+dM23v48CHDhw8nPj4egMGDB9OqVSsWLVrEkCFDqFKlCvB4P6Vx48Zx6dIlQ7slSpTg/PnzzJkzh9u3bzNv3jy0Wi0VK1Zk4sSJODg48McffzBlyhQKFSpkaOvpXMuXL+fWrVsMHjyYH374gSlTptC7d2/atGnDnj17KFOmDJ9++ilXr15l3LhxJCQkYGdnx9ixY3n//fc5d+4cEydOJDk5mbt379K3b198fHyYP38+x48f58aNG/Tq1YtevXrl41dOCCGEpZCiJgcOHDhAdHQ069evR6VS4e/vz8KFC7l06RIhISFYWVkxcuRItm3bRr9+/bh37x5+fn44Ozsbdrt+UXtbt25Fr9dToUIFlixZwsWLF1m/fj2tWrXi9OnTz+1wXb58+QwzJtWrV2fBggXcvXuX0aNHs3LlSkqUKEFISAgzZszgu+++Y/To0axYsYKqVasyZsyY53IFBgbi4+PDDz/8AMC7775Lnz59GDt2LFeuXGHt2rUAjBo1iqCgIN5//30uXLjA4MGD2b17N+vWrWPQoEE0btyYmJgYPDw88PHxASAtLY2dO3fm2tckt6Vd+ZtHR3ehpKXma78+W2wz/XxqamquPEnZ3t4eX19fNBrNa7clhBCmToqaHAgPD+fkyZN07twZgJSUFBwdHRk1ahTr1q3j8uXLHD9+nMqVKxvOebYIyUl7np6ezJo1i7i4OFq0aMHgwYMBUKlUvGjf0Tp1Ht9Fc+LECW7cuGEoJvR6PSVKlODs2bOULVuWqlWrAtCpUyfmzp37wrF/9tlnuLm5MXDgQEqVKsXDhw+Jjo4mICDAcExycjL37t1j9OjRHDx4kMWLF3P27FmSk5Ofy2eqUo7vQ3c7Nt/7vZaY932EhoZKUSOEsAhS1OSATqejT58+9O3bF4D79+9z5swZ+vfvj6+vL23atMHKyipD4WFnZ/dS7anVaooUKUJYWBgHDx5k3759/Oc//yEsLAwnJyeio6N59913DW1cvnyZhQsXMm3atAz96XQ6PvjgAxYtWgQ8/ov/4cOHXL9+PcOiX7VanaOxW1tbU65cOSpUqAA8LpJsbW3ZsmWL4ZibN29SsmRJvvzyS4oXL07Lli1xc3Njx44dOXo/TIFdvZY8Sk/N95maN4vm/UyNl5fXa7cjhBAFgRQ1OaDRaJg3bx5eXl4UKlSIwYMH4+rqSqNGjejRowdJSUmMGzeOli1bvnJ7nTp1Ijk5mZiYGAICAmjevDktW7YkKSmJAQMGMGHCBOrVq8fbb7/Nw4cPmTp1KjVq1Hiu7bp16xIYGMjly5epUqUKP/74I3FxcUycOJE7d+5w5swZatSokaHgeMLa2hqtVptt9mLFivH222+zZcsWOnbsyKFDhwgKCuLXX3/l0KFDhIWFUa5cOTZu3Ag8LrIKAtu3a2H7dq1873dlFs+piYqKokGDBvmcRgghCjYpanLA1dWVM2fO4OXlhU6no1mzZri5uTFkyBDc3d2xsbGhevXqxMbm7PJFZu116tTJsFDY3d0da2trhgwZQvHixWnevDnDhg1j2LBh6HQ6tFotbdu2ZciQIc+1XaZMGSZPnszXX3+NXq+nXLlyTJ8+HRsbG2bNmoW/vz/W1ta8//77z51bqlQpHB0d8fb2ZtWqVVnmnz59OuPGjWPp0qXY2Ngwe/ZsVCoVQ4cOpWfPnhQvXpwqVapQoUKFHL8nQgghxOtSKS9arCGEEaSmphIdHc3CWGuLfKKwpc/UyPgtd/yWPHaQ8T87/ie/C5ycnHJ0SV6eUyOEEEIIsyCXn4RJ+6FtjVxZMGuq0nR6bNXyt4UQQuQG+WkqhBFJQSOEELlHfqIKIYQQwixIUSOEEEIIsyBFjRBGkqaTGw+FECI3yUJhYdKG77rGfV3Onn5c0Kzq/JaxIwghhFmRmRohhBBCmAUpaoQQQghhFqSoMSERERF4e3sbO8YrmTt3Lr/99luWr/+/9u49Lsf7f+D46+6EEDllTmNmNnL+6mBOxZBKKssxctjYcvpuS5kQMsKYwya+M9tsQyolZ5PTUE1Y+tkac6qNSA5ROtz39fvD1/0VlaRUd+/n49Hj4b6u6/P5vD/XVbve+1yf+/ps3ryZ7du3v8SIhBBCVDQyp0YUiylTphS4/9SpU1hYWLykaIQQQlREktSUMampqbz33ntcuXKFZs2asWLFCiIiIli/fj0qlYrWrVszc+ZMqlatSsuWLUlISAAgNDSUmJgYFi5cSEBAAEePHkVfX59evXoxceJE7t+/z9y5czl37hxqtZr33nsPBweHAmNZu3Ytu3btQq1W07VrV7y8vIiMjCQgIICIiAiuXbuGu7s7QUFBfPHFF1hYWNCnTx8++ugjUlJSAPD09KRKlSpERkYSFRVF3bp16datW4mfx+f14NJvpMWEocl68NLaHBmW/59fZmbmC79J2djYGA8PD6ysrF6oHiGEKC8kqSlj/vnnHwIDA2nYsCFubm5s3LiRH374gaCgIExNTZkzZw6rVq3C29s7z/J///03hw8fZseOHWRmZjJjxgwyMzNZvXo1rVu3JiAggHv37jFkyBDatWtH48aN86zn8OHDxMfHExwcjEqlwsvLi23btuHk5MTevXtZvXo1MTExeHt7U79+fW25ffv20bBhQ9auXctff/1FcHAw3t7e2NraYmFhUSYTGoB7p3aTfePyS23z7zsl30ZQUJAkNUKICkOSmjLmzTff1CYazZs3Jy0tDRsbG0xNTQEYPHgw06dPz7e8mZkZlSpVYsiQIdjY2DB16lQqVarEsWPHePDgASEhIQCkp6dz7ty5fJOa48ePExcXh4uLCwAPHjygQYMGAMyYMYP+/fvTsWNH7O3tc5Xr0KEDS5cuJTk5mZ49e+Lp6fliJ+QlqdahH2nZD17qSE39aiU/UuPm5vZCdQghRHkiSU0ZY2Dwv0uiUqkwMTHh7t272m2KopCTk5Prs0ql0m4zMDBgy5YtxMTEcPjwYYYMGcKGDRvQaDQsXryY1q1bA5CSkkKNGjXyjUOtVjNq1ChGjx4NwN27d9HX19eW1dfX5+LFi2RlZWFkZKQt17RpU3bt2sWRI0c4cOAA33zzDbt27SqGM1OyKjdtR+Wm7V5qm98X8J6a2NhYOnXq9BKjEUKI8k++/VQOREZGcvv2beDh4wRLS0sATE1NOXfuHIqiEBkZCcDZs2cZMWIEnTt3xtvbm+bNm3Px4kWsrKzYuHEjANevX2fAgAFcvXo13zatrKwIDw/n/v375OTk4OnpyZ49e1Cr1UyfPp0ZM2bQuXNnvvjii1zlfvjhB1auXImdnR2zZ88mNTWVtLQ09PX1UavVxX9yhBBCiP+SkZoyrlq1aowfPx53d3eys7Np3bo1c+bMAeDjjz9mwoQJ1KlTh06dOnHr1i1atWpF+/btcXBwoEqVKrz11lt0794dCwsL/Pz8cHBwQK1W4+XlRZMmTfJt19bWlj/++AM3NzfUajXdunXD2dmZr7/+mtq1a9OnTx+6dOmCg4MDffr00ZYbOHAgH330EY6OjhgYGDBx4kRMTEzo0qULS5cupXr16vTr16/Ez5sQQoiKR6UoiixAI8qczMxM4uPj+SbJtEIuk1DRHz9J/ytu/yty30H6/2T/H90LzM3NCzXPUEZqKrATJ04wb968PPetXbsWMzOzlxzR05b2a/jCE2bLqiy1gpG+qrTDEEIInSFJTQX2r3/9i/Dw8NIOo8KShEYIIYqXTBQWQgghhE6QpEYIIYQQOkGSGiFKWY5a5uoLIURxkDk1okz7cs91MtS6/Ws6w/mV0g5BCCF0gozUCCGEEEInlNuk5syZM8yYMaO0wwCgZcuWBe5PTEzk008/LZa2QkND8fHxKZa6HlmxYgW9evVi/fr1xVovgLu7O9HR0cVerxBCCPGkcjuu36ZNG9q0aVPaYRTKP//8Q2JiYmmHka/w8HC+/vprmjVrVtqhCCGEEEVWbkdqoqOjcXd3Z/369QwYMICBAwcya9YsAO3r/V1cXBg6dCiXLl0Cco+oPD7iERcXx9ChQ3F2dmbMmDHPTECSkpIYOnQoTk5O2jYBkpOTGTt2LG5ubtjY2LBkyRIA/P39iY+P1y5vsHbtWpydnRkwYACLFi3iWS91DgsLo2/fvri6unLw4EHt9l27duHm5saAAQPo27cvv/76K5cvX6Znz55oNBoAYmJiGDduHACBgYH0798fR0dHFi5ciFqtZtasWSQnJ+Pp6cmECRP46aefgIdrTNnZ2QGQnZ1Njx49yM7O5vDhwwwaNIiBAwcyceJEbt26VahzePPmTRwcHPj5558L7KsQQghRVOV2pAYgJyeHNWvWcOTIEfT19ZkzZw7Jycl89913jB49Gjs7O3bu3Mnp06dp2rRpnnVkZWXh6+tLYGAgDRo04MiRI8ycOZNvv/0233bnzZuHi4sL7777LmFhYWzevBmA7du34+DggLOzM2lpafTo0YMxY8bg6+vLqlWrmD17NocPHyY+Pp7g4GBUKhVeXl5s27YNJyenPNtKTk5myZIlhIWFUbNmTcaPH4+xsTEajYZNmzYRGBhIrVq1CA4OZt26dQQGBtKoUSOio6OxtrZm69atuLi4cOjQISIjIwkNDcXAwIBJkyaxadMm5s6dyy+//MLatWu5cOECwcHBDBs2jOPHj3Pnzh1SUlI4f/487du3Jy0tjc8//5zvv/+eGjVqsGnTJpYsWcLs2bMLPIdpaWm8//77TJw4kd69e7/IJS8RKZdOcTE6hJysB6XS/sitTy8DkZmZ+UJvUjY2NsbDwwMrK6sXCU0IIcqVcp3UGBgY0KFDBwYNGkSvXr0YPnw4ZmZm9OjRg7lz53LkyBFsbGzo27dvvnVcunSJxMREPvjgA+22e/fuFdhuTEwMn3/+OQADBgzA19cXgLFjxxIVFcW6des4d+4c2dnZZGRk5Cp7/Phx4uLicHFxAeDBgwc0aNAg37ZOnTpFhw4dqFOnDgCOjo5ERUWhp6fHl19+SWRkJBcvXiQmJgY9vYcDb66urmzbto327dsTFRXFnDlzWLZsGfb29lSuXFl7TFhYGMOHD9e2ZWlpyaxZs1Cr1Vy4cIH+/fvz66+/cubMGWxsbPjtt9+4evUqI0eOBECj0VCjRo1nnsPZs2dTp06dXAtfliVXTu4g7calUmv/7zslU29QUJAkNUKICqVcJzUAX331FadPn+bw4cOMGzeOJUuW0K9fPzp06MCBAwf47rvvOHToEP7+/gAoioJKpSInJwd4eGNu1KiRdrkAtVpNSkrKM9t99MhIpVKhUj183f3ChQtJTEzEwcGB3r17c+zYsaceLanVakaNGsXo0aMBuHv3Lvr6+S/YqFKptI+S4GEiB3D//n1cXV1xcnKic+fOtGzZkh9//BGAfv36sWzZMvbs2UP37t0xMjLKVccjj87BI5UqVeLNN98kIiKC1157DUtLS44fP05sbCzjxo3j5MmTdOzYkcDAQODhaML9+/e5fv16gefwvffe49ChQ2zcuDFXElVWNOlojzr7QamN1NSqVjIjNW5ubi8SlhBClDvlOqlJTU3Fzs6OkJAQOnTowLVr10hISOCnn37C3t6eIUOG0Lx5cxYsWACAqakp586do0WLFkRGRlKzZk1ee+017ty5w4kTJ/jXv/5FSEgIERERbNiwId92u3TpwrZt2xg+fDh79+4lKysLgKNHjzJnzhw6duxIVFQUycnJaDQa9PX1tQmElZUVK1aswM3NjUqVKuHp6Ymzs7N25OZJnTp1Yt68eSQnJ1O3bl127tyJiYkJly5dQk9PjwkTJgDg6+uLWq0GoEqVKnTv3p2lS5eycuVKbburV69m8ODBGBgYEBISkuf/xffo0YMvv/ySMWPGYGFhgb+/P6+88gq1atWiXbt2+Pr6cvHiRZo1a8ZXX31FcnIyc+fOLfAcvvXWW/Ts2ZOhQ4fSu3fvMrFQ5uPqNO1AnaYdSq39vN5TU9FX6hVCiKIo10lNrVq16NWrF4MGDaJKlSq88sorODs707lzZ2bMmMFXX32Fvr6+dkLwxx9/zIQJE6hTpw6dOnXi1q1bGBkZsXz5cubPn09mZibVqlUjICCgwHZnzZqFl5cXmzZtok2bNlStWhWA8ePHM23aNExMTKhduzbm5uYkJSXx1ltvkZaWhpeXF4sXL9ZOZFar1XTr1g1nZ+d826pTpw6+vr54eHhQpUoVXn/9dQDefPNN3nrrLezs7KhcuTKdO3fmn3/+0Zazt7fn5MmTtGvXDgAbGxt+//13XF1dycnJoVu3bowYMeKp9nr27Imfnx8WFhbUqFGD2rVr07NnTwDq1q3LZ599xtSpU9FoNJiZmbF48eJCncOmTZsyfPhw5s6dy5dffvmMKyuEEEI8P5XyrK/eiHJHrVazbNkyateurX3MVd5kZmYSHx/Pob/rVcg3Clf0kRrpf8Xtf0XuO0j/n+z/o3uBubl5oR7J6/bd4gUEBARw7Nixp7abm5szf/78Ym3rwYMHDB48OM99kydPplevXs9Vn6urK6ampqxevbo4whNCCCHKBUlq8uHt7f3S2qpcubJ2km1xCAsLK7a6Sptn33ovNGG2PMhRKxjoq0o7DCGEKPfK7cv3hNAVktAIIUTxkKRGCCGEEDpBkhohhBBC6ARJaoQoYTlq+YKhEEK8DDJRWJRpQbtvkl3Ov9I9xqVeaYcghBAVgozUCCGEEEInSFKjA6Kjo3F3dy+x+tPS0vjwww9LrH4hhBCiOEhSI57pzp07/PHHH6UdhhBCCFEgSWrKkLVr1+Ls7MyAAQNYtGgRiqKwbNky3Nzc6Nu3L0OGDOHGjRvAwwUqx44di5OTk3axzMuXL9OzZ0/titwxMTGMGzcu3/aSkpLo168fQ4cOxcPDA7VazYIFC7QxfPvttwD4+/tz/fp1PD09SUpKwtbWVlvHypUrcy2a+Simo0ePMmbMGD788EP69u3L5MmTtQt/CiGEECWhfM/A1CGHDx8mPj6e4OBgVCoVXl5erF69mgsXLrBp0yb09PSYNm0aERERjBkzhlu3bvH+++9jaWlJdHQ0AK+++iqNGjUiOjoaa2trtm7dmu/q349cvHiRr7/+mkaNGrFx40YAtm7dSlZWFmPHjsXc3BxfX19GjhzJl19+SVJSUr51PRnTqVOn2LVrF/Xq1cPNzY1ffvklV0JUWv6+dJK4mGCyszJeSnsHw/Sfu0xmZmah3qRsbGyMh4dHniuuCyFERSNJTRlx/Phx4uLitEnIgwcPaNCgAd7e3mzZsoWLFy9y+vRpmjRpoi3zaAXux7m6urJt2zbat29PVFQUc+bMKbDd2rVr06hRI20Mv//+O1FRUQCkp6eTkJBA/fr1C92Px2Nq0aKFtmzz5s25c+dOoespSWdPbSf1xsWX1l5aCXc7KChIkhohhECSmjJDrVYzatQo7arad+/e5Y8//mDs2LF4eHjQt29f9PT0eHxR9cqVKz9VT79+/Vi2bBl79uyhe/fuGBkZFdju43Wo1Wq8vLzo06cPAKmpqRgbG5OSkqI9RqVS5YohJycHAwODPOt7fKThyXKlqVUHB3KyH7y0kRqTaiU7UuPm5laUsIQQQudIUlNGWFlZsWLFCtzc3KhUqRKenp7Y2tpiYWHB0KFDSUtLw8/PDxsbmwLrqVKlCt27d2fp0qXauS7PE0NQUBA2NjZkZWUxbNgw5syZw6uvvqqdt2NiYsKdO3dITU2lWrVqHDly5JkxlTUNm3akYdOOL629orynJjY2lk6dOpVANEIIobskqSkjbG1t+eOPP3Bzc0OtVtOtWzf69+/PxIkTcXR0xNDQkJYtWxY4p+URe3t7Tp48mefjqYIMGTKEy5cv4+zsTE5ODi4uLlhaWpKdnU2DBg1wd3dnw4YNjB07lkGDBlG/fn3atGlT1C4LIYQQxUqllJVnAqJYqNVqli1bRu3atbWPssqjzMxM4uPjOZv0SoV8o3BFH6mR/lfc/lfkvoP0/8n+P7oXmJubF+qRfPm+W4inuLq6YmpqyurVqwG4cuUKkyZNyvNYf39/GWkRQgihMySp0TFhYWG5Pjdp0oTw8PDSCaYYuPWrXajsvCzLUSsY6KtKOwwhhNB58vI9IUqYJDRCCPFySFIjhBBCCJ0gSY0QQgghdIIkNUI8Qa2WLwQKIUR5JBOFRZm2d+ct1Dkv99d04Lt1Xmp7QgghioeM1AghhBBCJ0hSI4QQQgidIEmNeMrmzZvZvn17gcfExcWxePHilxSREEII8WyS1IinnDp1iqysrAKPOX/+PDdv3nxJEQkhhBDPJhOFXwJFUViyZAk///wz+vr6DB48mJ49e+Ln58ft27epXLkyM2fOpFWrVvj4+FCtWjX+7//+j+TkZDw9PXF1deX48ePakZEaNWrw+eefU6tWLUJCQli/fj0qlYrWrVszc+ZMqlatipWVFa1btyYlJYXg4GAMDQ2fiuvevXt89NFHpKSkAODp6UmVKlWIjIwkKiqKunXrYmZmxrx580hPTyc1NZXRo0czcOBAVqxYQXp6OqtXr8bMzIyYmBgWLlwIgLu7OxMnTuTVV1/lk08+IT09HT09PXx9fWnfvn2JnuuLl08S/WsQ2dkPilxHaETx5vrGxsZ4eHhgZWVVrPUKIYTITZKal2D37t2cPHmSiIgIsrOzGTZsGBs2bGDFihW0atWK8+fP4+npyZ49ewC4du0aP/30E3/++ScjR47E1dWVr776Cj8/P9q2bcv333/P2bNnqVu3LoGBgQQFBWFqasqcOXNYtWoV3t7e3Lp1i/fffx9LS8t849q3bx8NGzZk7dq1/PXXXwQHB+Pt7Y2trS0WFhZ069aN+fPn8+GHH2JtbU1iYiIDBgxg5MiRTJ48mZiYGD744ANCQ0PzrD84OJiePXsybtw4oqOjiY2NLfGk5tTpCG6kXHyhOm7fKaZgHhMUFCRJjRBClDBJal6CX3/9FTs7O4yMjDAyMuKnn37C0tKS6dOna49JT0/n1q1bALz99tuoVCreeOMNbt++DUCvXr2YOHEivXv3plevXrz99tv88MMP2NjYYGpqCsDgwYNz1dmuXbsC4+rQoQNLly4lOTmZnj174unp+dQxPj4+HDlyhDVr1pCQkEB6enqh+21tbc2kSZP4/fff6dGjByNGjCh02aLq0N6RrOyMFxqpqVqt+Edq3NzcirVOIYQQT5Ok5iUwMMh9mhMTE1EUJddCk9euXaNmzZoA2gUcVar/rRnk4eGBjY0NBw4cYPHixcTFxVG1atVc9SqKQk5OjvZz5cqVC4yradOm7Nq1iyNHjnDgwAG++eYbdu3aleuYqVOnYmJigo2NDf3792fHjh1P1aNSqVCU/72wLjs7G4BOnTqxY8cODh48yM6dO9m6dSvr168vMKYX1ezVjjR7teML1SHvqRFCiPJJJgq/BJ07d2bfvn1kZ2eTkZHB1KlTMTY21iY1R48eZfjw4QXW8e6773L//n08PDzw8PDg7NmzWFhYEBkZqR3NCQoKKvBx05N++OEHVq5ciZ2dHbNnzyY1NZW0tDT09fVRq9Xa2CZPnkzv3r359ddfAVCr1ejr62sTKFNTU/766y8URSExMZGEhAQAFi1aRHh4OM7OzsyaNYuzZ88+13kTQgghnoeM1LwE77zzDvHx8bi4uKDRaBg5ciSWlpb4+fnx9ddfY2hoyLJly3KNzDzpo48+wsfHBwMDAypVqsScOXN44403GD9+PO7u7mRnZ9O6dWvmzJlT6LgGDhzIRx99hKOjIwYGBkycOBETExO6dOnC0qVLqV69OpMmTWLYsGGYmJjQrFkzGjZsSFJSEm3btmXVqlUsWbKEyZMnExISQr9+/WjWrBmdOnUCHk4Y/vjjj9m6dSv6+vrMnj37hc+lEEIIkR+V8vhzAyHKiMzMTOLj4/nnSsMKuUxCbGysNjmsiKT/Fbf/FbnvIP1/sv+P7gXm5ubaqRkFkZEaHXflyhUmTZqU5z5/f3/atGnzkiN6Pn36mxbqF7k4qdUK+vr5j5oJIYQomySp0XFNmjTJNSFZPJskNEIIUT7JRGEhhBBC6ARJaoQQQgihEySpESIParXMnxdCiPJG5tSIMu1YeCrKS/72E4DtsLovvU0hhBAvRkZqhBBCCKETJKkRQgghhE6QpEYIIYQQOkHm1IjnEh0dzapVq9iwYQPwcBXvVq1a8csvv5CSkgKAp6cnvXr14vLly/j5+XH79m0qV67MzJkzadWqVWmGL4QQQodJUiNe2N27d2nYsCFr167lr7/+Ijg4mF69euHt7c2sWbNo1aoV58+fx9PTkz179ryUmM5dOcnhk1vIys4oUvlvd+sXqZyxsTEeHh5YWVkVqbwQQoiik6RGvLB69eqxefNmkpOT6dmzJ56enty/f5/4+HimT5+uPS49PZ1bt25hampa4jFFnYng2s2LRa/gbtGLBgUFSVIjhBClQJIa8VxUKhWPr4GanZ2NgYEBu3bt4siRIxw4cIBvvvmGLVu2YGRklGuJhmvXrlGzZs2XEqdVG0eysh8UeaSmSvWij9S4ubkVqawQQogXI0mNeC6mpqYkJiaSmZlJRkYGsbGxdOjQgZUrVzJ9+nS6d++OjY0NiqLQtGlTwsPDcXJy4ujRo8yaNYuff/75pcTZoklHWjTpWOTy8p4aIYQofySpEc+lRYsW9OjRA3t7exo2bEinTp3QaDRcvHgRR0dHDAwMmDhxIiYmJixevBg/Pz++/vprDA0NWbZsGSqVLBYphBCiZEhSI57b3Llzn9o2cuTIp7Y1b95c+y0pIYQQoqTJe2qEEEIIoRNkpEaUaV2calGpUqWX3q5araCvL4/KhBCiPJGRGiHyIAmNEEKUP5LUCCGEEEInSFIjhBBCCJ0gSY2oMDQ5yrMPEkIIUW7JRGFRpv225SZkF8+vqcXoesVSjxBCiLJJRmqEEEIIoRMkqSkn3N3diY6OfuntRkZGsn79+pferhBCCPG85PGTKND//d//lXYIQgghRKFIUlNC1q5dy65du1Cr1XTt2pWhQ4cyceJEGjduzJ9//om5uTkWFhZs3bqVO3fu8OWXX9K8eXNsbW2xtbXlxIkTAHz22We0atUqV92BgYFs27YNfX193n77bby8vFi5ciUajYaPPvoIgOnTp9OtWzcsLCyYNWsW165dQ6VS8fHHH9OlSxdWrlzJ6dOnuXr1KsOHD2f48OFP9eH8+fNs2rQJgPr167N69WrWrVtHs2bNSE9Px87Ojr1799KjRw9sbGyIj4+natWqLFmyhEaNGhEXF8eCBQt48OABpqamzJkzh8aNG5fwmRdCCFFRSVJTAg4fPkx8fDzBwcGoVCq8vLyIiIggISGBBQsW8Oabb9K3b18aNmzI5s2bWbVqFZs3b+bTTz8FoGbNmoSFhREZGYm3tzcRERHaug8dOkRkZCShoaEYGBgwadIkNm3ahKurK6NGjeLf//43GRkZHD9+nDlz5uDt7Y2rqyu9evXi+vXrDBs2jLCwMACysrLYuXNnvv14/fXXGTJkCADvvvsuV69eZdu2bUyZMoW9e/fSs2dPKlWqxK1bt7CwsGDBggVs2LABf39/VqxYga+vL4GBgTRo0IAjR44wc+ZMvv322xc6t38knWRfXDCZ2RnPXbbyAf0itWlsbIyHhwdWVlZFKi+EEOLlkKSmBBw/fpy4uDhcXFwAePDgAYqiUKdOHe2oS/369bG2tgagQYMGJCUlacu7ubkBYGtri4+PD6mpqdp9UVFR2NvbU7lyZQBcXV0JCwtj+PDhNGzYkF9//ZV//vmHHj16YGRkxLFjx7hw4QIrVqwAICcnh8TERADatm37XP1ycXFh9OjRTJkyha1bt2pHhSpVqsTAgQMBcHZ2ZunSpVy6dInExEQ++OADbfl79+49V3t5OXx2O/+kXixa4bSitxsUFCRJjRBClHGS1JQAtVrNqFGjGD16NAB3797l2rVrnD59Otdx+vp5jxwYGPzvsmg0mlzHaTSap47PyckBHiY427dv559//mHSpEna47/77jtq1qwJQHJyMnXq1OHnn3/WJkaF1ahRIxo0aMDevXu5efMm7dq1A0BPTw+VSpUrXo1GQ6NGjQgPD9eek5SUlOdqLy/dWzmQmfOgaCM1JkUfqXmUaAohhCi7JKkpAVZWVqxYsQI3NzcqVaqEp6cnzs7OhS6/Y8cO3N3d2bdvH82bN6dGjRq56l69ejWDBw/GwMCAkJAQ7QhCv379+PLLL6latao24bCysuKnn37iww8/5Pz58wwfPpz9+/cXOhZ9fX0yMzO1n11dXfH392fEiBHabRkZGURGRmJra0toaCjdu3fntdde486dO5w4cYJ//etfhISEEBERwYYNGwrddl7ebNSRNxt1LFJZeU+NEELoNklqSoCtrS1//PEHbm5uqNVqunXrRufOnQtd/uTJkwQHB1OlShUWLlyYa5+NjQ2///47rq6u5OTk0K1bN22CUblyZdq3b88bb7yhPd7X15dZs2bh6OgIwKJFi6hWrVqhY+ncuTPe3t7UqVMHd3d3+vTpw8yZM3Fycsp13O7du1m2bBn16tUjICAAIyMjli9fzvz588nMzKRatWoEBAQUul0hhBDieakURZF3x5chtra2fP/99zRq1Oi5yimKwv379xk8eDDffvstdevWLfbYFEXh8OHDbNy4kcDAQO32li1bkpCQUKxtZWZmEh8fj/r3VyrkG4VjY2Pp1KlTaYdRaqT/Fbf/FbnvIP1/sv+P7gXm5uZUqlTpmeVlpEZHnDlzhnHjxuHp6fncCU1AQADHjh17aru5uTnz58/Xfv7ss884cOAA//nPf144XiGEEKK4SVJTxkRGRhapXNu2bYmJiSlSWW9v70IdN2PGDGbMmPHU9uIepXlcu3drFyo7LwxNjoKegapY6hJCCFH2yDIJosKQhEYIIXSbJDVCCCGE0AmS1AghhBBCJ0hSI3SWJke+2CeEEBWJTBQWZdr5H1LQyyrar+lbH5gVczRCCCHKMhmpEUIIIYROkKSmgrp37x4uLi44OTlx8WLeC0RGR0fj7u7+kiMTQgghikYeP1VQv//+O0ZGRmzatKm0QxFCCCGKhYzUlAIvLy82b96s/ezu7s5vv/3G6NGjcXZ2ZujQoZw9exaAP//8E3d3d1xdXbGxseH7778HYOXKlYwdO5b+/fvz448/5ttWSkoK48ePx9HREWdnZw4fPszNmzf59NNPSUhIYMKECYWK+eLFi7i7u+Po6MjgwYOJi4t7Zny+vr64u7tja2vL6tWri3SuhBBCiMKSkZpS4OrqysqVKxk8eDB///03qampLFiwgFmzZtGqVSvOnz+Pp6cne/bsYcuWLXz44YdYW1uTmJjIgAEDGDlyJABZWVns3LmzwLbmzZuHlZUVo0ePJjExkaFDhxIWFoa/vz+rVq3KtYZTQby8vHj//ffp06cPp0+fZsqUKc+MLyEhgR9//JG0tDR69+7N8OHDMTExebGT94T4q6fY8X9beJDz4Kl9Rsf1CyxrbGyMh4eHdpVzIYQQ5ZskNaXA0tKSmTNnkpSURHh4OHZ2dgQGBjJ9+nTtMenp6dy6dQsfHx+OHDnCmjVrSEhIID09XXtM27Ztn9lWVFQU/v7+ADRu3Jh27drx22+/PddK3ffv3+fKlSv06dMHgPbt21OjRg0uXLhQYHyWlpYYGRlRu3ZtatasSVpaWrEnNT8nbCfx9qW8d957dvmgoCBJaoQQQkdIUlMKVCoVAwcOZMeOHezevZvAwEC++eYbwsPDtcdcu3aNmjVrMnnyZExMTLCxsaF///7s2LFDe0zlypWf2daTi7ArioJarX6ueBVFybeeqVOn5hvf42s2qVSqp+ooDr1bOpCZk5H3SE2NZ4/UuLm5FXtMQgghSockNaXExcWFYcOG8frrr9OwYUOaNm1KeHg4Tk5OHD16lFmzZvHzzz9z9OhRdu3ahZmZGaGhoQDPlZRYWVkRHBysffx08uRJ/Pz88v3GU16qVatG48aN2bt3r/bxU0pKCi1atHjh+F6U+SsdMH+lQ5775D01QghRsUhSU0peeeUVXnnlFZydnQFYvHgxfn5+fP311xgaGrJs2TJUKhWTJk1i2LBhmJiY0KxZMxo2bEhSUlKh25kxYwazZs3SJhz+/v7Uq1fvuZKax+NbuXIlhoaGrFy5EiMjoxeOTwghhCguKqUkngmIAimKwvXr13F3d2f79u0YGRmVdkhlTmZmJvHx8VQ+Xb9CvlE4NjaWTp06lXYYpUb6X3H7X5H7DtL/J/v/6F5gbm6ea0pDfmSkphTs2bMHPz8//Pz8iiWhCQgI4NixY09tNzc3Z/78+QWWPXHiBPPmzctz39q1azEzK7+JgRBCiIpFkppS0K9fP/r161ds9Xl7exe57L/+9a9cE5TLmtdH1ClUdp4XTY6CnoGqmCMSQghRVsnL94TOkoRGCCEqFklqhBBCCKETJKkRQgghhE6QpEboFCVHvswnhBAVlUwUFmXatf/cQP9B4X9NG31SvwSjEUIIUZbJSI0QQgghdIIkNUXQsmXLUi3/LKGhofj4+BRLXba2tvKGYCGEEOWCJDVCCCGE0AkypwaIjo5m5cqVGBgYcPXqVdq2bcsHH3zAuHHjiIyMBGDlypUATJo0CYCZM2cSFxeHqakpn332GQ0aNMi3/qSkJLy8vEhPT6ddu3ba7ffv32fu3LmcO3cOtVrNe++9h4ODA6GhoWzdupXbt29jY2PDyJEjmTFjBv/88w8GBgb8+9//pnv37gX26fLlywwfPlxbx8cff4xKpWLZsmUcP36cO3fuYGpqysqVK6lbty5du3alb9++xMbGoq+vzxdffEHjxo219V28eJHx48ezaNEiLly4kCu+69evY2FhgYuLC/BwJCohIYGVK1dy6dIlrly5wu3btxk8eDDjxo0r2kUSQgghnkGSmv+Ki4sjLCyMZs2aMWXKFA4dOlTg8Z07d2bevHn8+OOPzJ8/ny+//DLfY+fNm4eLiwvvvvsuYWFhbN68GYDVq1fTunVrAgICuHfvHkOGDNEmPcnJyezcuRMDAwOmTJmClZWVdqXtoUOHEhYWRp06dfJtMykpifDwcKpVq8aoUaPYv38/LVq04MKFC2zatAk9PT2mTZtGREQEY8aM4caNG1hbWzNz5kwWLlzIjz/+qH2EdfXqVfz8/FiwYAHt27fnwoULueIr6FHXn3/+yaZNm9BoNLi4uGBtbU3r1q0LPLeFcfr6KULPBfMg50Gu7QZx+k8da2xsjIeHB1ZWVi/crhBCiLJLHj/9V+fOnXnttddQqVQ4OTkRFRWV77GVK1dmwIABADg5ORETE1Ng3TExMdjZ2QEwYMAADA0NATh27BibNm3CycmJ4cOHk56ezrlz5wBo1aoVBgYPc86oqCgGDRoEQOPGjWnXrh2//fZbgW3a2tpSq1YtjIyMsLOzIyYmhldffRVvb2+2bNnCwoULOX36NOnp6doy3bp1A6BFixbcuXNHu33q1Kk0btw41yJjj8dXEAcHB6pWrUr16tWxtbUt8Lw+j10Xd3D57iWS06/l+vn777+f+jl37hxBQUHF0q4QQoiyS0Zq/ktf/3//h68oCunp6Ty+gHlOTo72Jq6np5fr2MLc3B/VpVKpUKkevr5fo9GwePFi7chFSkoKNWrUICIigsqVKz9V9vHParW6wPYej+lRjPHx8Xz88cd4eHjQt29f9PT0ctX9aI0llUqVa/uMGTNYtWoVhw4dokePHgC54nv8+Ozs7FxxPH5eNRpNrs8vwq6ZPRk5GU+P1JjmPVLj5uZWLO0KIYQou2Sk5r9iY2NJTk5Go9EQFhZG7969uXPnDqmpqWRlZXHkyBHtsenp6ezfvx+AkJAQunTpUmDdXbp0Ydu2bQDs3buXrKwsAKysrNi4cSMA169fZ8CAAVy9evWp8lZWVgQHBwOQmJjIyZMnad++fYFtHjp0iLt375KZmcmOHTvo0qULv/76KxYWFgwdOpTXX3+do0ePPjM5Amjbti1+fn7MmTMn18jOIzVr1uT8+fMA/Pzzz7n2/fzzz2RlZXHnzh0OHDhA165dn9leYbSv14G5b89nUY/Pc/18//33T/0EBgbKoychhKgAZKTmv+rVq8e0adNITk7m7bffZsSIEdy7d49BgwZRv3592rRpoz3WxMSEn3/+meXLl2NmZsaCBQsKrHvWrFl4eXmxadMm2rRpQ9WqVQGYOHEifn5+ODg4oFar8fLyokmTJpw4cSJX+RkzZjBr1ixCQ0MB8Pf3p169egW2+dprr/H+++9z9+5dHBwc6Nq1Ky1atGDixIk4OjpiaGhIy5YtC/11bQsLCywtLfniiy948803c+0bNmwYU6dOxdHRESsrK+rWravdV6lSJYYNG8a9e/cYP348r7/+eqHaE0IIIZ6XSnny2UYFFB0dzapVq9iwYUNph6JTnvzG2PPIzMwkPj6eOsfNKuQbhWNjY3PNYapopP8Vt/8Vue8g/X+y/4/uBebm5topEgWRkZpiEhAQwLFjx57abm5uzvz584u9vZ07d7JmzZo894WHhxd7e0IIIURZJ0kNYGlpiaWl5QvV4e3tXUzRFE7//v3p37//S23zeRVlhOZJ9d+rW6js/BElR0FloHrhdoUQQpQ/MlFY6BRJaIQQouKSpEYIIYQQOkGSGiGEEELoBElqRLml5GhKOwQhhBBliEwUFmXajf9cxuBB3rl3/U/knTdCCCH+R0ZqhBBCCKETJKkRQgghhE6QpKYY+fj4aJcyyEvLli0LLL9//36WL1/+QjEcPXqUUaNG5dr22WefYW9vj4ODA9u3b3+h+p9l8+bN2jaedT6EEEKI4iRzasqQXr160atXryKV1Wg0fPvtt6xZs4Y33nhDu/348ePExcWxbds2bt26hZ2dHb169aJKlSrFFXYup06dwsLCokTqFkIIIQoiSc0LUBSFhQsXcvDgQerVq4darcbCwoKwsDC+++47NBoNrVu3Zvbs2YV6K25oaCgxMTEsXLgQW1tbBgwYwC+//EJGRgYBAQGYm5vnW/avv/7ir7/+Yt68ebnWsFKr1WRmZpKTk0NGRgZGRkbAw/WuAgMDURSFK1eu0LdvX6pXr65dZXvt2rXUqVOHAwcO8MUXX6DRaGjcuDFz586lTp06ecZ39+5dIiMjiYqK0i5qefDgQX766Sdu3rzJhAkTGDx48HOf51PXzxB8bhsPch7k2q4fZ5hvGWNjYzw8PGR1biGEqEDk8dML2LNnD2fPnmX79u0sX76cK1eukJGRQVBQEJs2bSI8PJzatWuzbt26ItVfs2ZNgoODGTJkSL7rPD3SokUL5s+fT40aNXJt79q1K40bN6Z79+7079+f999/XztK89tvv7FgwQJ27NjBpk2bqFWrFqGhobRs2ZIdO3Zw8+ZNZs2axZdffklERAQdO3Zk7ty5+cbXpUsXbG1tmTx5Mt26dQMgKyuLLVu2sGbNGpYtW1ak87Dj4l4u3b3CtfTruX7+/vvvfH/OnTtHUFBQkdoTQghRPslIzQuIiYmhT58+GBoaUqtWLbp3746iKFy+fBk3NzcAsrOzadWqVZHqf5QYtGjRgr179xapjs2bN6Ovr88vv/zC7du3GTlyJO3atQPgjTfe4JVXXgHA1NQUa2trABo0aMDdu3eJi4ujbdu2NGrUCIDBgwezdu3a54qvV69eqFQqWrRowa1bt4rUB/tmfcjIefD0SI1pwSM1j66BEEKIikGSmhegUqnQaP73AjgDAwPUajV2dnb4+voCcP/+fdRqdZHqf/TISqUq+npG+/fvZ+jQoRgaGlK3bl169uzJiRMnaNOmDYaGuZMCfX39XJ8f7xs8fNyWk5PzXPE9qvNF+tChXhs61Gvz1HZ5T40QQojHyeOnF2Btbc3u3bvJysrizp07HDlyBIB9+/Zx8+ZNFEXBz8+P7777rtRifPPNN7XzZNLT04mKiipwbs7j2rVrx2+//UZSUhLwcNTnWauZ6+vrFzmJE0IIIV6EjNS8gN69e3PmzBkcHByoU6cOzZs3p3r16kycOJFRo0ah0Wh46623eP/990stxgkTJjBnzhzs7OzQ19dn0KBBWFlZER0d/cyyderUYe7cuUycOJHs7GwaNGjA/PnzCyzTpUsXli5dSvXq1YurC0IIIUShqBRFUUo7CCGelJmZSXx8PGbHq1fIZRJiY2Pp1KlTaYdRaqT/Fbf/FbnvIP1/sv+P7gXm5uaF+haxjNS8ZDt37sz3m0zh4eEFlg0ICODYsWNPbTc3N3/mCIoQQgih6ySpecn69+9P//79i1TW29u7mKMp++q+92q+2bmSo0FlINPChBBCPCR3BFFuSUIjhBDicXJXEEIIIYROkKRGlAtKjubZBwkhhKjQJKkRZVrKurMkLzstj5qEEEI8k9wphBBCCKETJKkRxW769On07duX7du3k52dzahRowr1sj8hhBDiRchXukWx27p1K3FxcSQlJeHu7s7Zs2dLOyQhhBAVgCQ1olhNmDABRVF49913adWqFePGjSvVta+EEEJUHJLUiGIVGBhIy5Ytc70d+UWSGv/jX3H3zl30T+V+AZ+xsTEeHh5YWVkVuW4hhBC6RZIaUabdyLjFrfu34P7T+4KCgiSpEUIIoSVJjSjT6lYxpVKWPvo1nx6pcXNzK6WohBBClEWS1Igyzdf6QwwyVZj9u31phyKEEKKMk690CyGEEEInyEiNKHYJCQm5Pm/YsKGUIhFCCFGRyEiNEEIIIXSCJDVCCCGE0Any+EmUaXXGtqJSpUooORpZ1FIIIUSB5C4hygVJaIQQQjyL3CmEEEIIoRMkqRFlnpKjKe0QhBBClAOS1IgyLWV9rDx6EkIIUShytxBCCCGETpCkRgghhBA6QZKaIjhz5gwzZszId//y5cvZv38/AO7u7trtTk5OBdYbGhqKj49Pgce4u7sTHR39zBgSExP59NNPC6wrP5s3b2b79u0FHhMXF8fixYuLVL8QQghREuQ9NUXQpk0b2rRpk+/+KVOmaP8dExOj/Xd4ePhLi+Gff/4hMTGxSHWfOnUKCwuLAo85f/48N2/eLFL9QgghREmQpKYIoqOjWbVqFfAwuYiNjSU1NRVfX1969OiBj48PFhYWnD17FoB3332XLVu20LJlSxISEkhOTubTTz8lLS2NGzduYG9vzyeffFKkGDZs2MD69evZunUrenp6tG3blrlz5+Lv709SUhJz5sxh9uzZedZx7949PvroI1JSUgDw9PSkSpUqREZGEhUVRd26dTEzM2PevHmkp6eTmprK6NGjGThwICtWrCA9PZ3Vq1djZmZGTEwMCxcuBB6OJk2cOJFXX32VTz75hPT0dPT09PD19aV9+/bP1U//o99w/1ig9rOxsTEeHh5YWVk9Vz1CCCF0nzx+ekHZ2dls3ryZ6dOns3z58lz7fH19AdiyZUuu7du3b8fBwYGgoCC2bdvGTz/9RGpqapHaz8nJYc2aNYSEhBAaGopKpSI5ORlfX1/Mzc3zTWgA9u3bR8OGDQkNDWXx4sWcOHGCLl26YGtry+TJk+nWrRtbtmzhww8/JCQkhO+//55ly5ZhYmLC5MmTsbW15YMPPsi3/uDgYHr27EloaCheXl7ExsY+d/9uZNzm77//1v6cO3eOoKCg565HCCGE7pORmhfUrVs3AFq0aMHt27cLVWbs2LFERUWxbt06zp07R3Z2NhkZGUVq38DAgA4dOjBo0CB69erF8OHDMTMz49KlS88s26FDB5YuXUpycjI9e/bE09PzqWN8fHw4cuQIa9asISEhgfT09ELHZm1tzaRJk/j999/p0aMHI0aMeJ6uAVC3Sk2MjY21n42NjXFzc3vueoQQQug+SWpeUKVKlQBQqVSFLrNw4UISExNxcHCgd+/eHDt2DEVRihzDV199xenTpzl8+DDjxo1jyZIlhSrXtGlTdu3axZEjRzhw4ADffPMNu3btynXM1KlTMTExwcbGhv79+7Njx46n6lGpVLniz87OBqBTp07s2LGDgwcPsnPnTrZu3cr69eufq2++b4+h4YQuz1VGCCFExSRJTQnT19cnJycHA4P/neqjR48yZ84cOnbsSFRUFMnJyWg0RXtrbmpqKsOGDSMkJIQOHTpw7do1EhISeOutt8jJySmw7A8//EBiYiLTp0+ne/fu2NjYkJaWhr6+Pmq1Whvrrl27MDMzIzQ0FAC1Wq3tF4CpqSl//fUXiqKQlJREQkICAIsWLaJevXp4eHhgaWmJs7NzkfoohBBCFIYkNSWsV69eODk5aRMCgPHjxzNt2jRMTEyoXbs25ubmJCUlFan+WrVqMWTIEAYNGkSVKlV45ZVXcHZ2Jjs7m7S0NLy8vPL96vXAgQP56KOPcHR0xMDAgIkTJ2JiYkKXLl1YunQp1atXZ9KkSQwbNgwTExOaNWtGw4YNSUpKom3btqxatYolS5YwefJkQkJC6NevH82aNaNTp07AwwnDH3/8MVu3bkVfX7/A+T1CCCHEi1IpL/LcQ4gSkpmZSXx8PPV/zayQj59iY2O1yWFFJP2vuP2vyH0H6f+T/X90LzA3N9dO9yiIjNSUQR9//DHnz59/arutrW2ud+AUxpUrV5g0aVKe+/z9/Qt8140QQghRnkhSUwZ9/vnnxVZXkyZNivWlfy9bndGdUHI0sqilEEKIZ5I7hSjzJKERQghRGHK3EEIIIYROkKRGCCGEEDpBkhohhBBC6ARJaoQQQgihEySpKedatmwJwMaNG9m4cWMpR/OQj49PrpcNCiGEEC+DfKVbRwwdOrS0QxBCCCFKlYzUlDHR0dGMGDECDw8P+vbti5eXF1lZWYSEhODg4ICjoyM+Pj7cv38/V7mVK1eycuVKACIiIujfvz/29vb4+PiQlZWFra0tFy9eBCA9PZ0ePXqQmZmZbxzHjh1jwIABODo6Mn78eO7du4dGo8Hf3x97e3scHBxYu3YtAIqisGDBAvr27Yu7uztXrlzR1hMWFoazszNOTk58+umnBbYphBBCvAhJasqguLg4Zs2axe7du8nMzGTt2rUEBgayYcMGIiIiqFKlCqtWrcqzbHJyMgsWLOCbb75hx44dqNVqDh8+zMCBA9m2bRsAe/fupWfPnvm+cjorK4tPPvmEgIAAIiIiaNmyJVu3bmXjxo1cvXqVbdu2sWXLFvbu3cvBgwfZs2cPZ8+eZfv27Sxfvlyb1Jw7d46goCA2bdpEeHg4tWvXZt26dSVz0oQQQlR48vipDOrcuTOvvfYaAE5OTkyaNIkRI0ZgamoKwODBg5k+fXqeZU+dOkXHjh2pX78+gHYxyzfffJPRo0czZcoUtm7dykcffZRv+wkJCZiZmfHWW28BaI+dPHkyzs7O6OvrU6VKFRwdHTl+/DjZ2dn06dMHQ0NDatWqRffu3YGHo06XL1/Gzc0NgOzsbFq1avWip0cIIYTIkyQ1ZZC+vr7234qioNFocu1XFIWcnJw8yxoY5L6kqampADRq1IgGDRqwd+9ebt68Sbt27fJt39DQMNfntLQ07t+/n2ccarUalUqVa9+jGNRqNXZ2dvj6+gJw//591Gp1vu0KIYQQL0IeP5VBsbGxJCcno9FoCAsLY/r06URGRnL79m0AgoKCsLS0zLNsmzZt+O2337hx4wYAn332Gfv37wfA1dUVf39/BgwYUGD7zZo1IzU1Vbuo5tdff83GjRuxsrIiLCwMtVpNRkYGERERWFpaYm1tze7du8nKyuLOnTscOXIEAEtLS/bt28fNmzdRFAU/Pz++++674jhFQgghxFNkpKYMqlevHtOmTSM5OZm3336bESNGYGxsjLu7O9nZ2bRu3Zo5c+bkWdbMzIwZM2YwduxYNBoN7du3x8XFBYA+ffowc+ZMnJycCmy/UqVKLF68mGnTppGdnU2TJk1YtGgRRkZGXLp0CScnJ7KzsxkwYADvvPMOAGfOnMHBwYE6derQvHlz4OEjr4kTJzJq1Cg0Gg1vvfUW77//fjGeKSGEEOJ/VIqiKKUdhPif6OhoVq1axYYNG4q1XkVROHz4MBs3biQwMLBY6y4JmZmZxMfHY25unu+EZl0WGxtLp06dSjuMUiP9r7j9r8h9B+n/k/1/3nuBjNRUEJ999hkHDhzgP//5j3abu7s7d+/eferYIUOGyHtvhBBClDuS1JQxlpaW+c6XeREzZsxgxowZubYV92iQEEIIUZpkorAQQgghdIIkNUIIIYTQCZLUCCGEEEInSFIjhBBCCJ0gSY0QQgghdIIkNUIIIYTQCZLUiAJt3ryZ7du3l3YYQgghxDNJUiMKdOrUKbKysko7DCGEEOKZ5OV75VxOTg5+fn6cO3eOlJQUmjVrxvTp05k6dSqNGzfm8uXLNGjQgMWLF1OzZk2srKywsbEhPj6eqlWrsmTJEho1apRn3ceOHSMyMpKoqChMTEyYMWMG+/fvp1q1aiQlJTF+/HjWrFnDBx98kGdbhw8fZsWKFeTk5NCoUSPmzZuHqanpSz5DQgghKgoZqSnnTp06haGhIZs3b2bfvn1kZmZy6NAh/vzzT0aNGsWOHTto3rw5q1atAuDWrVtYWFgQERGBvb09/v7++dbdpUsXbG1tmTx5Mr1796Znz57s3r0bgLCwMO3CmHm1lZqayueff866desICwuja9euLFmypORPiBBCiApLRmrKuc6dO1OzZk1+/PFHLly4wKVLl0hPT6dp06ba5RYGDhzIJ598AjxcgXvgwIEAODs7s3Tp0kK35erqysqVKxk0aBDbt2/nu+++Izs7O8+23n77ba5evcrIkSMB0Gg01KhRoxh7LoQQQuQmSU05t3//flasWMHIkSNxcXHh1q1bNGjQAAOD/11aRVHQ19cHQE9PD5VKBTxMNB5tL4zOnTtz/fp19u7dS6NGjTAzMyMpKSnPttRqNR07dtSuCJ6Zmcn9+/eLo8tCCCFEnuTxUzl3/Phx7OzscHV1pU6dOvz666+o1WouXrzI77//DkBISAjdu3cHICMjg8jISABCQ0O12/PzKEEBUKlUDBw4EH9/f1xcXLTH5NVWu3btOH36NBcvXgTgq6++YtGiRcXbeSGEEOIxMlJTzr377rt88skn7N69GyMjI9q3b090dDQ1atRgxYoVXLlyhZYtW+aaO7N7926WLVtGvXr1CAgIKLD+Ll26sHTpUqpXr06/fv2wt7dn/fr19O7dW3tMXm0ZGxvz2WefMXXqVDQaDWZmZixevLjEzoMQQgghSU0517JlSyIiInJtS0pK4uTJk6xevTrPMs8zYmJvb4+9vT3w8HHVkSNHGDBgAEZGRtpjqlSpkmdbtra22NraFrotIYQQ4kVIUiP4+OOPOX/+/FPbbW1tmTJlivbzxIkTuXr1KuvWrXuZ4QkhhBCFIkmNDmrUqJF23syTEhISntr2+eefF6rer7766rnaEkIIIV4mSWpEmaQoCkCFfptxZmZmaYdQqqT/Fbf/FbnvIP1/vP+P7gGP7gnPolIKe6QQL1FaWhp//vlnaYchhBCiDHjjjTeoXr36M4+TpEaUSRqNhvv372NoaKh9r44QQoiKRVEUsrOzqVq1Knp6z34LjSQ1QgghhNAJ8vI9IYQQQugESWqEEEIIoRMkqRFCCCGETpCkRgghhBA6QZIaIYQQQugESWqEEEIIoRMkqRFCCCGETpCkRpQ5ERER9O/fn3feeYcff/yxtMMpcatWrdKuhv5oBfVjx47h6OhInz59WLZsWSlH+HIEBATg4+MDwO+//46rqyt9+/ZlxowZ5OTklHJ0JScyMhIXFxf69euHv78/ULGuf3h4uPb3PyAgAND963/v3j0cHBxISkoC8r/eunoenuz/5s2bcXBwwNHRkenTp2uXRihS/xUhypBr164pNjY2yq1bt5T79+8rjo6Oyrlz50o7rBJz9OhRZfDgwUpmZqaSlZWljBw5UomIiFB69OihXLlyRcnOzlbGjBmjHDx4sLRDLVHHjh1TLC0tFW9vb0VRFMXe3l45deqUoiiKMn36dOXHH38sxehKzpUrV5SuXbsqV69eVbKyspShQ4cqBw8erDDXPz09XencubNy8+ZNJTs7Wxk0aJBy9OhRnb7+p0+fVhwcHJTWrVsriYmJSkZGRr7XWxfPw5P9v3DhgvLOO+8oaWlpikajUaZNm6asX79eUZSi9V9GakSZcuzYMaysrKhZsybGxsb07duX3bt3l3ZYJaZu3br4+PhgZGSEoaEhzZs359KlS7z66qs0btwYAwMDHB0ddfoc3L59m2XLljFhwgQA/v77bx48eED79u0BcHFx0dn+79u3j/79+1O/fn0MDQ1ZtmwZVapUqTDXX61Wo9FoyMjIICcnh5ycHAwMDHT6+gcFBTF79mzq1asHQFxcXJ7XW1f/Dp7sv5GREX5+flSrVg2VSsUbb7zBP//8U+T+yyrdoky5fv06devW1X6uV68ecXFxpRhRyWrRooX235cuXWLnzp24u7s/dQ6Sk5NLI7yXYtasWfz73//m6tWrwNO/A3Xr1tXZ/l++fBlDQ0PGjh3LjRs3sLGxoUWLFhXm+lerVo0pU6ZgZ2dH5cqVsbCwwNDQUKev//z583N9zuu/ecnJyTr7d/Bk/xs2bEjDhg0BSE1N5ccff2TBggVF7r+M1IgyRcljKbKKsKDluXPnGDNmDN7e3jRp0uSp/bp6DrZs2cIrr7yCtbW1dltF+h1Qq9UcP36cxYsXExQUxJkzZ7TzDB6nq/3/448/CAkJ4cCBA/zyyy/o6elx9OjRp47T1f5D/r/vFenvACA5OZlRo0bh6uqKpaVlkfsvIzWiTDEzM+PEiRPaz9evX9cOU+qq2NhYJk+ezKeffoq9vT0xMTGkpKRo9+vyOdi5cyc3btzAycmJO3fukJ6ejkqlytX/Gzdu6Gz/69Spg7W1NbVq1QKgV69e7N69G319fe0xunz9f/nlF6ytralduzbw8BHDunXrKsz1h4f/zcvr7/3J7bp8Hv766y/ee+89RowYwZgxY4Cnz0th+y8jNaJM6dKlC8ePHyc1NZWMjAz27t1L9+7dSzusEnP16lU8PT1ZsmQJ9vb2ALRr146LFy9y+fJl1Go127dv19lzsH79erZv3054eDiTJ0/G1taWBQsWUKlSJWJjYwEICwvT2f7b2Njwyy+/cPfuXdRqNUeOHKFfv34V5vq/+eabHDt2jPT0dBRFITIyEgsLiwpz/SH/v/eGDRtWiPNw7949xo4dy5QpU7QJDVDk/stIjShTzMzM+Pe//83IkSPJzs5m0KBBtG3btrTDKjHr1q0jMzOThQsXarcNGTKEhQsXMmnSJDIzM+nRowf9+vUrxShfviVLluDr68v9+/dp1aoVI0eOLO2QSkS7du0YN24cw4YNIzs7m7fffpuhQ4fy2muvVYjr37VrV86ePYuLiwuGhoa0adOG999/n3feeadCXH+ASpUq5fv3XhH+DoKDg0lJSeGbb77hm2++AcDW1pYpU6YUqf8qJa8HV0IIIYQQ5Yw8fhJCCCGETpCkRgghhBA6QZIaIYQQQugESWqEEEIIoRMkqRFCCCGETpCkRgghCuHMmTNMnjz5pbaZlpamk1/jFaKkyFe6hRCijEpKSsLR0ZFTp06VdihClAvy8j0hhCiE6Oho5s2bh7m5OZUqVeLMmTOkpKRgZ2dHrVq1OHDgADdu3MDf3x9ra2t8fHxQqVT89ddfpKam8vbbb+Pr64uhoSEnTpxg0aJFZGRkYGhoyNSpU+nevTuhoaEEBweTkZFBtWrVAHjw4AFOTk6EhoaydetWNm/eTHZ2Nnfu3OG9995j2LBhhIaGsm/fPvT09LSLZAYEBPDGG29w48YNZs+ezYULF9DT02PIkCGMHDmStLQ05s+fz59//kl2djbW1tZMmzYNAwO5LYhyTBFCCPFMUVFRir29veLt7a28++67SlZWlnL9+nXljTfeUL7//ntFURTl22+/VUaPHq0oiqJ4e3srAwcOVO7du6dkZmYqw4cPVzZs2KCkpqYq1tbWyunTpxVFUZQ///xTsbCwUK5cuaKEhIQonTt3VtLS0hRFUZTExESlffv2iqIoyr179xQ3NzclNTVVURRFOXXqlHZfSEiI0qlTJ+Xq1auKoijK3LlzlWnTpimKoiienp5KQECAoiiKcvfuXcXe3l65dOmS4uPjo407JydH+eSTT5S1a9eW+HkUoiRJSi6EEM/JxsYGQ0ND6tati7GxMd26dQOgSZMm3L59W3ucs7MzVatWBcDJyYn9+/fTuHFjmjRpQrt27QBo0aIFHTt2JCYmBpVKRcuWLbWjNI+rWrUqgYGBHDp0iEuXLvHHH3+Qnp6u3d+6dWvq168PQKtWrdi3bx8Ax44dw8vLC4Dq1auzfft2AA4ePMiZM2cIDg4GHo4ICVHeSVIjhBDPycjIKNfn/B7ZPL7atqIo6OnpodFonjpOURRycnIwNDTE2Ng4z7quXbvG4MGDcXNzo1OnTvTr148DBw5o91euXFn7b5VKhfLf6ZIGBgaoVCrtvsTERExNTdFoNCxfvpzmzZsDcPfu3VzHCVEeybefhBCihOzatYusrCwyMzPZunUrNjY22lWZ4+LiADh37hy//vorFhYWT5U3MDBArVajKArx8fHUqlWLDz/8kG7dumkTGrVaXWAM1tbWhISEAA+/TTVq1CguXbpE165d+fbbb1EUhaysLD744AN++OGHYj4DQrxcMlIjhBAlpHLlygwbNoy7d+/St29fXF1d0dPTY/ny5cybN48HDx6gUqlYsGABzZo1e+pbTnXr1qVVq1bY2dnx3XffYWZmRr9+/ahSpQpt27alVq1aXL58ucAYZs2ahZ+fH46OjiiKwvjx4zE3N2fGjBnMnz8fR0dHsrOz6dKlC+PGjSvJ0yFEiZOvdAshRAnw8fGhRYsWjB07trRDEaLCkMdPQgghhNAJMlIjhBBCCJ0gIzVCCCGE0AmS1AghhBBCJ0hSI4QQQgidIEmNEEIIIXSCJDVCCCGE0AmS1AghhBBCJ/w/pwbECUVeQMEAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 576x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display_importances(importances, fname='lgbm_importances_1.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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V69e+Pr6cv36dSZMmMCxY8est/9/7733cHTU14PYGENERDJt9+7dhpeXlzFy5EjjpZdeMlJSUoyLFy8azzzzjLFw4ULDMAxj/vz5xoABAwzDMIyRI0canTt3Nm7cuGEkJycbffv2NRYtWmTEx8cbjRo1Mvbv328YhmEcO3bMaNCggXHmzBljxYoVRv369Y3r168bhmEY0dHRRp06dQzDMIwbN24YPXr0MOLj4w3DMIx9+/ZZ31uxYoVRr149IzY21jAMwxg7dqzx3nvvGYZhGH5+fsbkyZMNwzCMa9euGV5eXkZUVJQxatQoa91paWnGu+++a8ydO/eRn0eRnKYILiKSTS1btsTJyQlXV1cKFixI06ZNAahUqRJXr1617telSxcKFSoEQKdOndi8eTMVK1akUqVK1K5dG4Bq1apRt25d9uzZg8lkws3NzTo782eFChUiODiYn376iaioKI4cOUJSUpL1/Ro1alC2bFkAqlevzvfffw/Azp07GTFiBACFCxdm7dq1APz4448cOnSI5cuXA7dngkRskQKNiEg2OTs7p3t9r8s0f36asWEY5MuXD4vFkmE/wzBIS0vDycmJggUL3rWt8+fP07NnT3r06EG9evVo27YtW7dutb6fP39+679NJhPGf5dJOjo6YjKZrO9FR0dTvHhxLBYLM2bMoGrVqgBcu3Yt3X4itkK/chIRecTWr19PSkoKycnJrFy5kpYtW1qfQn7w4EEAjh8/zi+//EKDBg0yHO/o6IjZbMYwDCIjIylRogRvvPEGTZs2tYYZs9l83xoaNWrEihUrgNu/murXrx9RUVE0adKE+fPnYxgGKSkpvP7663z99dc5fAZEHj3N0IiIPGL58+enT58+XLt2jTZt2tCtWzfy5cvHjBkzGDduHLdu3cJkMjFx4kSqVKmS4ddMrq6uVK9enXbt2rFgwQLKlClD27ZtKVCgALVq1aJEiRKcPn36vjUEBAQQGBiIt7c3hmHw2muv4e7uzpgxY5gwYQLe3t6kpqbSuHFjBg4c+ChPh8gjoZ9ti4g8QqNGjaJatWq88soruV2KiF3TJScRERGxeZqhEREREZunGRoRERGxeQo0IiIiYvMUaERERMTmKdCIiIiIzVOgEREREZunQCMiIiI27/8BuV2qe0jwB4wAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 576x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display_importances(importances, fname='catboost_importances.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "## 选择阈值0.05，从internet表中提取预测小于该概率的样本，并对不同来源的样本赋予来源值\n",
    "## 意义?\n",
    "InteId = IntePre.loc[IntePre.isDefault<0.05, 'loan_id'].tolist()\n",
    "\n",
    "# train_inte = train_inte.rename(columns={'is_default':'isDefault'})\n",
    "\n",
    "# train_data['dataSourse'] = 1\n",
    "# test_public['dataSourse'] = 1\n",
    "# train_inte['dataSourse'] = 0\n",
    "\n",
    "train_data['dataSource'] = 1\n",
    "test_public['dataSource'] = 1\n",
    "data_cols_train_inte_public_same['dataSource'] = 0\n",
    "\n",
    "data_cols_train_inte_public_same['isDefault'] = train_inte['is_default']\n",
    "\n",
    "use_te = data_cols_train_inte_public_same[data_cols_train_inte_public_same.loan_id.isin( InteId )].copy()\n",
    "\n",
    "# 合并各来源的数据集\n",
    "data = pd.concat([ train_data,test_public,use_te]).reset_index(drop=True)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>app_type</th>\n",
       "      <th>censor_status</th>\n",
       "      <th>class</th>\n",
       "      <th>dataSource</th>\n",
       "      <th>debt_loan_ratio</th>\n",
       "      <th>del_in_18month</th>\n",
       "      <th>earliesCreditMon</th>\n",
       "      <th>earliesCreditYear</th>\n",
       "      <th>early_return</th>\n",
       "      <th>early_return_amount</th>\n",
       "      <th>early_return_amount_3mon</th>\n",
       "      <th>employer_type</th>\n",
       "      <th>f0</th>\n",
       "      <th>f1</th>\n",
       "      <th>f2</th>\n",
       "      <th>f3</th>\n",
       "      <th>f4</th>\n",
       "      <th>house_exist</th>\n",
       "      <th>industry</th>\n",
       "      <th>initial_list_status</th>\n",
       "      <th>interest</th>\n",
       "      <th>isDefault</th>\n",
       "      <th>issue_date_dayofweek</th>\n",
       "      <th>issue_date_month</th>\n",
       "      <th>known_dero</th>\n",
       "      <th>known_outstanding_loan</th>\n",
       "      <th>loan_id</th>\n",
       "      <th>monthly_payment</th>\n",
       "      <th>policy_code</th>\n",
       "      <th>post_code</th>\n",
       "      <th>pub_dero_bankrup</th>\n",
       "      <th>recircle_b</th>\n",
       "      <th>recircle_u</th>\n",
       "      <th>region</th>\n",
       "      <th>scoring_high</th>\n",
       "      <th>scoring_low</th>\n",
       "      <th>title</th>\n",
       "      <th>total_loan</th>\n",
       "      <th>use</th>\n",
       "      <th>user_id</th>\n",
       "      <th>work_year</th>\n",
       "      <th>year_of_loan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2.430</td>\n",
       "      <td>0.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2001</td>\n",
       "      <td>3</td>\n",
       "      <td>9927</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>5.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>11.466</td>\n",
       "      <td>0.000</td>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3.000</td>\n",
       "      <td>1040418</td>\n",
       "      <td>1174.910</td>\n",
       "      <td>1.000</td>\n",
       "      <td>193.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>7734.231</td>\n",
       "      <td>91.800</td>\n",
       "      <td>13</td>\n",
       "      <td>649.091</td>\n",
       "      <td>556.364</td>\n",
       "      <td>5.000</td>\n",
       "      <td>31818.182</td>\n",
       "      <td>2</td>\n",
       "      <td>240418</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>11.005</td>\n",
       "      <td>1.000</td>\n",
       "      <td>4</td>\n",
       "      <td>1990</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3</td>\n",
       "      <td>7.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>45.000</td>\n",
       "      <td>22.000</td>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>16.841</td>\n",
       "      <td>0.000</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3.000</td>\n",
       "      <td>1025197</td>\n",
       "      <td>670.690</td>\n",
       "      <td>1.000</td>\n",
       "      <td>491.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>31329.000</td>\n",
       "      <td>54.800</td>\n",
       "      <td>30</td>\n",
       "      <td>893.750</td>\n",
       "      <td>715.000</td>\n",
       "      <td>40642.000</td>\n",
       "      <td>28000.000</td>\n",
       "      <td>0</td>\n",
       "      <td>225197</td>\n",
       "      <td>10</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>6.409</td>\n",
       "      <td>0.000</td>\n",
       "      <td>10</td>\n",
       "      <td>1991</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3</td>\n",
       "      <td>6.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>28.000</td>\n",
       "      <td>19.000</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>8.900</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000</td>\n",
       "      <td>5.000</td>\n",
       "      <td>1009360</td>\n",
       "      <td>603.320</td>\n",
       "      <td>1.000</td>\n",
       "      <td>459.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>18514.000</td>\n",
       "      <td>57.692</td>\n",
       "      <td>8</td>\n",
       "      <td>903.636</td>\n",
       "      <td>774.545</td>\n",
       "      <td>154.000</td>\n",
       "      <td>17272.727</td>\n",
       "      <td>4</td>\n",
       "      <td>209360</td>\n",
       "      <td>10</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9.205</td>\n",
       "      <td>0.000</td>\n",
       "      <td>6</td>\n",
       "      <td>2001</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1</td>\n",
       "      <td>5.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>10.000</td>\n",
       "      <td>15.000</td>\n",
       "      <td>9.000</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>4.788</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3.000</td>\n",
       "      <td>1039708</td>\n",
       "      <td>602.300</td>\n",
       "      <td>1.000</td>\n",
       "      <td>157.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>20707.000</td>\n",
       "      <td>42.600</td>\n",
       "      <td>8</td>\n",
       "      <td>875.000</td>\n",
       "      <td>750.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>20000.000</td>\n",
       "      <td>0</td>\n",
       "      <td>239708</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>15.578</td>\n",
       "      <td>0.000</td>\n",
       "      <td>5</td>\n",
       "      <td>2001</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>3</td>\n",
       "      <td>10.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>15.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>12.790</td>\n",
       "      <td>0.000</td>\n",
       "      <td>4</td>\n",
       "      <td>7</td>\n",
       "      <td>0.000</td>\n",
       "      <td>15.000</td>\n",
       "      <td>1027483</td>\n",
       "      <td>470.310</td>\n",
       "      <td>1.000</td>\n",
       "      <td>38.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>14016.154</td>\n",
       "      <td>30.462</td>\n",
       "      <td>21</td>\n",
       "      <td>710.606</td>\n",
       "      <td>609.091</td>\n",
       "      <td>0.000</td>\n",
       "      <td>15272.727</td>\n",
       "      <td>0</td>\n",
       "      <td>227483</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   app_type  censor_status  class  dataSource  debt_loan_ratio  \\\n",
       "0     0.000              1      3           1            2.430   \n",
       "1     0.000              2      3           1           11.005   \n",
       "2     0.000              0      1           1            6.409   \n",
       "3     0.000              1      1           1            9.205   \n",
       "4     0.000              1      3           1           15.578   \n",
       "\n",
       "   del_in_18month  earliesCreditMon  earliesCreditYear  early_return  \\\n",
       "0           0.000                12               2001             3   \n",
       "1           1.000                 4               1990             0   \n",
       "2           0.000                10               1991             0   \n",
       "3           0.000                 6               2001             0   \n",
       "4           0.000                 5               2001             0   \n",
       "\n",
       "   early_return_amount  early_return_amount_3mon  employer_type     f0    f1  \\\n",
       "0                 9927                     0.000              3  1.000 0.000   \n",
       "1                    0                     0.000              3  7.000 0.000   \n",
       "2                    0                     0.000              3  6.000 0.000   \n",
       "3                    0                     0.000              1  5.000 0.000   \n",
       "4                    0                     0.000              3 10.000 0.000   \n",
       "\n",
       "      f2     f3     f4  house_exist  industry  initial_list_status  interest  \\\n",
       "0  4.000  5.000  4.000            0        13                    0    11.466   \n",
       "1  4.000 45.000 22.000            0        13                    1    16.841   \n",
       "2  6.000 28.000 19.000            1         3                    1     8.900   \n",
       "3 10.000 15.000  9.000            0        10                    0     4.788   \n",
       "4  6.000 15.000  4.000            2         2                    0    12.790   \n",
       "\n",
       "   isDefault  issue_date_dayofweek  issue_date_month  known_dero  \\\n",
       "0      0.000                     5                10       0.000   \n",
       "1      0.000                     5                 6       0.000   \n",
       "2      0.000                     2                 1       0.000   \n",
       "3      0.000                     2                 7       0.000   \n",
       "4      0.000                     4                 7       0.000   \n",
       "\n",
       "   known_outstanding_loan  loan_id  monthly_payment  policy_code  post_code  \\\n",
       "0                   3.000  1040418         1174.910        1.000    193.000   \n",
       "1                   3.000  1025197          670.690        1.000    491.000   \n",
       "2                   5.000  1009360          603.320        1.000    459.000   \n",
       "3                   3.000  1039708          602.300        1.000    157.000   \n",
       "4                  15.000  1027483          470.310        1.000     38.000   \n",
       "\n",
       "   pub_dero_bankrup  recircle_b  recircle_u  region  scoring_high  \\\n",
       "0             0.000    7734.231      91.800      13       649.091   \n",
       "1             0.000   31329.000      54.800      30       893.750   \n",
       "2             0.000   18514.000      57.692       8       903.636   \n",
       "3             0.000   20707.000      42.600       8       875.000   \n",
       "4             0.000   14016.154      30.462      21       710.606   \n",
       "\n",
       "   scoring_low     title  total_loan  use  user_id  work_year  year_of_loan  \n",
       "0      556.364     5.000   31818.182    2   240418          3             3  \n",
       "1      715.000 40642.000   28000.000    0   225197         10             5  \n",
       "2      774.545   154.000   17272.727    4   209360         10             3  \n",
       "3      750.000     0.000   20000.000    0   239708          6             3  \n",
       "4      609.091     0.000   15272.727    0   227483          0             3  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    59829\n",
       "1    15000\n",
       "Name: dataSource, dtype: int64"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['dataSource'].value_counts() # 0: public, 1: internet"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型训练与评估"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 用将train_internet的预测结果和原训练集整合后的数据训练模型，捕捉不同业务当中客户背景信息和违约行为的关联"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Size of training set: 11532\n",
      "Size of testing set: 5000\n",
      "train/test ratio = 2.31\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 定义新的训练和测试集\n",
    "\n",
    "train = data[data['isDefault'].notna()]\n",
    "\n",
    "print(f'Size of training set: {len(train)}')\n",
    "\n",
    "test  = data[data['isDefault'].isna()]\n",
    "\n",
    "print(f'Size of testing set: {len(test)}')\n",
    "\n",
    "# for col in ['sub_class', 'work_type']:\n",
    "#     del train[col]\n",
    "#     del test[col]\n",
    "\n",
    "print(\"train/test ratio = {:.2f}\".format(len(train)/len(test)))\n",
    "\n",
    "del data\n",
    "del train_data,test_public"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 调整精度,去除更多不相关特征,使用StratifiedKFold训练初始模型后，模型lgbm(更新于211118)\n",
    "\n",
    "y = train['isDefault']\n",
    "folds = StratifiedKFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "oof_preds, test_preds, importances = train_model(train, test, y, folds) # Use the training set to predict the labels in the testing set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Size of training set: 10000\n",
      "Size of testing set: 5000\n",
      "0:\ttest: 0.8608142\ttest1: 0.8410457\tbest: 0.8410457 (0)\ttotal: 7.24ms\tremaining: 21.7s\n",
      "50:\ttest: 0.8931885\ttest1: 0.8696200\tbest: 0.8696200 (50)\ttotal: 280ms\tremaining: 16.2s\n",
      "100:\ttest: 0.8945901\ttest1: 0.8720918\tbest: 0.8720918 (100)\ttotal: 539ms\tremaining: 15.5s\n",
      "150:\ttest: 0.8954522\ttest1: 0.8713495\tbest: 0.8720918 (100)\ttotal: 798ms\tremaining: 15.1s\n",
      "200:\ttest: 0.8956166\ttest1: 0.8708702\tbest: 0.8720918 (100)\ttotal: 1.07s\tremaining: 14.9s\n",
      "250:\ttest: 0.8957669\ttest1: 0.8702799\tbest: 0.8720918 (100)\ttotal: 1.34s\tremaining: 14.6s\n",
      "300:\ttest: 0.8956771\ttest1: 0.8704570\tbest: 0.8720918 (100)\ttotal: 1.61s\tremaining: 14.4s\n",
      "350:\ttest: 0.8958569\ttest1: 0.8702889\tbest: 0.8720918 (100)\ttotal: 1.86s\tremaining: 14.1s\n",
      "400:\ttest: 0.8963396\ttest1: 0.8706931\tbest: 0.8720918 (100)\ttotal: 2.13s\tremaining: 13.8s\n",
      "450:\ttest: 0.8965899\ttest1: 0.8709238\tbest: 0.8720918 (100)\ttotal: 2.43s\tremaining: 13.8s\n",
      "500:\ttest: 0.8967366\ttest1: 0.8713424\tbest: 0.8720918 (100)\ttotal: 2.74s\tremaining: 13.7s\n",
      "550:\ttest: 0.8970713\ttest1: 0.8711134\tbest: 0.8720918 (100)\ttotal: 3.04s\tremaining: 13.5s\n",
      "600:\ttest: 0.8972081\ttest1: 0.8710812\tbest: 0.8720918 (100)\ttotal: 3.34s\tremaining: 13.3s\n",
      "650:\ttest: 0.8973720\ttest1: 0.8712941\tbest: 0.8720918 (100)\ttotal: 3.62s\tremaining: 13s\n",
      "700:\ttest: 0.8976714\ttest1: 0.8712386\tbest: 0.8720918 (100)\ttotal: 3.91s\tremaining: 12.8s\n",
      "750:\ttest: 0.8978950\ttest1: 0.8712315\tbest: 0.8720918 (100)\ttotal: 4.18s\tremaining: 12.5s\n",
      "800:\ttest: 0.8981534\ttest1: 0.8713316\tbest: 0.8720918 (100)\ttotal: 4.45s\tremaining: 12.2s\n",
      "850:\ttest: 0.8984934\ttest1: 0.8711724\tbest: 0.8720918 (100)\ttotal: 4.71s\tremaining: 11.9s\n",
      "900:\ttest: 0.8988530\ttest1: 0.8712780\tbest: 0.8720918 (100)\ttotal: 4.98s\tremaining: 11.6s\n",
      "950:\ttest: 0.8990708\ttest1: 0.8711045\tbest: 0.8720918 (100)\ttotal: 5.26s\tremaining: 11.3s\n",
      "1000:\ttest: 0.8994383\ttest1: 0.8710079\tbest: 0.8720918 (100)\ttotal: 5.52s\tremaining: 11s\n",
      "1050:\ttest: 0.9000106\ttest1: 0.8710365\tbest: 0.8720918 (100)\ttotal: 5.8s\tremaining: 10.8s\n",
      "1100:\ttest: 0.9003513\ttest1: 0.8711331\tbest: 0.8720918 (100)\ttotal: 6.09s\tremaining: 10.5s\n",
      "1150:\ttest: 0.9006835\ttest1: 0.8712082\tbest: 0.8720918 (100)\ttotal: 6.38s\tremaining: 10.3s\n",
      "1200:\ttest: 0.9010960\ttest1: 0.8712619\tbest: 0.8720918 (100)\ttotal: 6.65s\tremaining: 9.96s\n",
      "1250:\ttest: 0.9015708\ttest1: 0.8714604\tbest: 0.8720918 (100)\ttotal: 6.92s\tremaining: 9.68s\n",
      "1300:\ttest: 0.9020072\ttest1: 0.8715373\tbest: 0.8720918 (100)\ttotal: 7.19s\tremaining: 9.39s\n",
      "1350:\ttest: 0.9025194\ttest1: 0.8716267\tbest: 0.8720918 (100)\ttotal: 7.47s\tremaining: 9.12s\n",
      "1400:\ttest: 0.9028917\ttest1: 0.8715838\tbest: 0.8720918 (100)\ttotal: 7.79s\tremaining: 8.89s\n",
      "1450:\ttest: 0.9033209\ttest1: 0.8717752\tbest: 0.8720918 (100)\ttotal: 8.11s\tremaining: 8.65s\n",
      "1500:\ttest: 0.9037212\ttest1: 0.8719219\tbest: 0.8720918 (100)\ttotal: 8.43s\tremaining: 8.42s\n",
      "1550:\ttest: 0.9041944\ttest1: 0.8721061\tbest: 0.8721061 (1550)\ttotal: 8.76s\tremaining: 8.18s\n",
      "1600:\ttest: 0.9045809\ttest1: 0.8721973\tbest: 0.8721973 (1600)\ttotal: 9.1s\tremaining: 7.95s\n",
      "1650:\ttest: 0.9050318\ttest1: 0.8723422\tbest: 0.8723422 (1650)\ttotal: 9.52s\tremaining: 7.78s\n",
      "1700:\ttest: 0.9054124\ttest1: 0.8724924\tbest: 0.8724924 (1700)\ttotal: 9.82s\tremaining: 7.5s\n",
      "1750:\ttest: 0.9058268\ttest1: 0.8726087\tbest: 0.8726087 (1750)\ttotal: 10.1s\tremaining: 7.23s\n",
      "1800:\ttest: 0.9062014\ttest1: 0.8725944\tbest: 0.8726087 (1750)\ttotal: 10.4s\tremaining: 6.95s\n",
      "1850:\ttest: 0.9066306\ttest1: 0.8727231\tbest: 0.8727231 (1850)\ttotal: 10.7s\tremaining: 6.66s\n",
      "1900:\ttest: 0.9070455\ttest1: 0.8727875\tbest: 0.8727875 (1900)\ttotal: 11.1s\tremaining: 6.39s\n",
      "1950:\ttest: 0.9074855\ttest1: 0.8729557\tbest: 0.8729557 (1950)\ttotal: 11.4s\tremaining: 6.11s\n",
      "2000:\ttest: 0.9079362\ttest1: 0.8730809\tbest: 0.8730809 (2000)\ttotal: 11.7s\tremaining: 5.82s\n",
      "2050:\ttest: 0.9083549\ttest1: 0.8731166\tbest: 0.8731166 (2050)\ttotal: 12s\tremaining: 5.55s\n",
      "2100:\ttest: 0.9088094\ttest1: 0.8731757\tbest: 0.8731757 (2100)\ttotal: 12.3s\tremaining: 5.28s\n",
      "2150:\ttest: 0.9092066\ttest1: 0.8732222\tbest: 0.8732222 (2150)\ttotal: 12.9s\tremaining: 5.07s\n",
      "2200:\ttest: 0.9097203\ttest1: 0.8733223\tbest: 0.8733223 (2200)\ttotal: 13.4s\tremaining: 4.85s\n",
      "2250:\ttest: 0.9101512\ttest1: 0.8735119\tbest: 0.8735119 (2250)\ttotal: 13.8s\tremaining: 4.59s\n",
      "2300:\ttest: 0.9106104\ttest1: 0.8735513\tbest: 0.8735513 (2300)\ttotal: 14.1s\tremaining: 4.3s\n",
      "2350:\ttest: 0.9110688\ttest1: 0.8735656\tbest: 0.8735656 (2350)\ttotal: 14.5s\tremaining: 4.01s\n",
      "2400:\ttest: 0.9114527\ttest1: 0.8736747\tbest: 0.8736747 (2400)\ttotal: 14.9s\tremaining: 3.71s\n",
      "2450:\ttest: 0.9118963\ttest1: 0.8738034\tbest: 0.8738034 (2450)\ttotal: 15.2s\tremaining: 3.4s\n",
      "2500:\ttest: 0.9123104\ttest1: 0.8738750\tbest: 0.8738750 (2500)\ttotal: 15.4s\tremaining: 3.08s\n",
      "2550:\ttest: 0.9127746\ttest1: 0.8738929\tbest: 0.8738929 (2550)\ttotal: 15.8s\tremaining: 2.77s\n",
      "2600:\ttest: 0.9132135\ttest1: 0.8739358\tbest: 0.8739358 (2600)\ttotal: 16.1s\tremaining: 2.47s\n",
      "2650:\ttest: 0.9137070\ttest1: 0.8739608\tbest: 0.8739608 (2650)\ttotal: 16.4s\tremaining: 2.16s\n",
      "2700:\ttest: 0.9142017\ttest1: 0.8739751\tbest: 0.8739751 (2700)\ttotal: 16.7s\tremaining: 1.85s\n",
      "2750:\ttest: 0.9147118\ttest1: 0.8741021\tbest: 0.8741021 (2750)\ttotal: 17s\tremaining: 1.54s\n",
      "2800:\ttest: 0.9151444\ttest1: 0.8741236\tbest: 0.8741236 (2800)\ttotal: 17.3s\tremaining: 1.23s\n",
      "2850:\ttest: 0.9155869\ttest1: 0.8742005\tbest: 0.8742005 (2850)\ttotal: 17.6s\tremaining: 919ms\n",
      "2900:\ttest: 0.9160723\ttest1: 0.8742077\tbest: 0.8742077 (2900)\ttotal: 17.9s\tremaining: 609ms\n",
      "2950:\ttest: 0.9165458\ttest1: 0.8742059\tbest: 0.8742077 (2900)\ttotal: 18.1s\tremaining: 301ms\n",
      "2999:\ttest: 0.9169435\ttest1: 0.8741737\tbest: 0.8742077 (2900)\ttotal: 18.4s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8742076608\n",
      "bestIteration = 2900\n",
      "\n",
      "Shrink model to first 2901 iterations.\n",
      "Fold  1 AUC : 0.874208\n",
      "0:\ttest: 0.8583343\ttest1: 0.8479317\tbest: 0.8479317 (0)\ttotal: 19.5ms\tremaining: 58.4s\n",
      "50:\ttest: 0.8912566\ttest1: 0.8722313\tbest: 0.8722313 (50)\ttotal: 349ms\tremaining: 20.2s\n",
      "100:\ttest: 0.8927539\ttest1: 0.8736192\tbest: 0.8736192 (100)\ttotal: 693ms\tremaining: 19.9s\n",
      "150:\ttest: 0.8931775\ttest1: 0.8729968\tbest: 0.8736192 (100)\ttotal: 993ms\tremaining: 18.7s\n",
      "200:\ttest: 0.8933333\ttest1: 0.8732222\tbest: 0.8736192 (100)\ttotal: 1.3s\tremaining: 18.1s\n",
      "250:\ttest: 0.8933526\ttest1: 0.8733509\tbest: 0.8736192 (100)\ttotal: 1.59s\tremaining: 17.4s\n",
      "300:\ttest: 0.8934315\ttest1: 0.8734439\tbest: 0.8736192 (100)\ttotal: 1.88s\tremaining: 16.8s\n",
      "350:\ttest: 0.8939130\ttest1: 0.8735960\tbest: 0.8736192 (100)\ttotal: 2.17s\tremaining: 16.4s\n",
      "400:\ttest: 0.8941027\ttest1: 0.8739519\tbest: 0.8739519 (400)\ttotal: 2.47s\tremaining: 16s\n",
      "450:\ttest: 0.8942187\ttest1: 0.8742542\tbest: 0.8742542 (450)\ttotal: 2.76s\tremaining: 15.6s\n",
      "500:\ttest: 0.8946676\ttest1: 0.8743955\tbest: 0.8743955 (500)\ttotal: 3.06s\tremaining: 15.2s\n",
      "550:\ttest: 0.8948814\ttest1: 0.8747836\tbest: 0.8747836 (550)\ttotal: 3.35s\tremaining: 14.9s\n",
      "600:\ttest: 0.8952029\ttest1: 0.8747872\tbest: 0.8747872 (600)\ttotal: 3.72s\tremaining: 14.8s\n",
      "650:\ttest: 0.8954936\ttest1: 0.8749410\tbest: 0.8749410 (650)\ttotal: 4.12s\tremaining: 14.9s\n",
      "700:\ttest: 0.8956859\ttest1: 0.8748981\tbest: 0.8749410 (650)\ttotal: 4.45s\tremaining: 14.6s\n",
      "750:\ttest: 0.8958827\ttest1: 0.8750429\tbest: 0.8750429 (750)\ttotal: 4.75s\tremaining: 14.2s\n",
      "800:\ttest: 0.8961227\ttest1: 0.8752701\tbest: 0.8752701 (800)\ttotal: 5.05s\tremaining: 13.9s\n",
      "850:\ttest: 0.8964337\ttest1: 0.8754275\tbest: 0.8754275 (850)\ttotal: 5.36s\tremaining: 13.5s\n",
      "900:\ttest: 0.8968286\ttest1: 0.8757262\tbest: 0.8757262 (900)\ttotal: 5.65s\tremaining: 13.2s\n",
      "950:\ttest: 0.8970014\ttest1: 0.8759336\tbest: 0.8759336 (950)\ttotal: 5.94s\tremaining: 12.8s\n",
      "1000:\ttest: 0.8973567\ttest1: 0.8759122\tbest: 0.8759336 (950)\ttotal: 6.24s\tremaining: 12.5s\n",
      "1050:\ttest: 0.8978338\ttest1: 0.8761662\tbest: 0.8761662 (1050)\ttotal: 6.54s\tremaining: 12.1s\n",
      "1100:\ttest: 0.8982722\ttest1: 0.8763861\tbest: 0.8763861 (1100)\ttotal: 6.9s\tremaining: 11.9s\n",
      "1150:\ttest: 0.8986516\ttest1: 0.8763951\tbest: 0.8763951 (1150)\ttotal: 7.21s\tremaining: 11.6s\n",
      "1200:\ttest: 0.8989814\ttest1: 0.8764523\tbest: 0.8764523 (1200)\ttotal: 7.54s\tremaining: 11.3s\n",
      "1250:\ttest: 0.8994160\ttest1: 0.8765364\tbest: 0.8765364 (1250)\ttotal: 7.84s\tremaining: 11s\n",
      "1300:\ttest: 0.8999020\ttest1: 0.8766240\tbest: 0.8766240 (1300)\ttotal: 8.19s\tremaining: 10.7s\n",
      "1350:\ttest: 0.9003370\ttest1: 0.8767922\tbest: 0.8767922 (1350)\ttotal: 8.49s\tremaining: 10.4s\n",
      "1400:\ttest: 0.9007109\ttest1: 0.8769317\tbest: 0.8769317 (1400)\ttotal: 8.8s\tremaining: 10s\n",
      "1450:\ttest: 0.9011786\ttest1: 0.8770926\tbest: 0.8770926 (1450)\ttotal: 9.11s\tremaining: 9.72s\n",
      "1500:\ttest: 0.9015538\ttest1: 0.8772697\tbest: 0.8772697 (1500)\ttotal: 9.41s\tremaining: 9.39s\n",
      "1550:\ttest: 0.9020162\ttest1: 0.8773913\tbest: 0.8773913 (1550)\ttotal: 9.7s\tremaining: 9.06s\n",
      "1600:\ttest: 0.9024999\ttest1: 0.8775952\tbest: 0.8775952 (1600)\ttotal: 9.99s\tremaining: 8.73s\n",
      "1650:\ttest: 0.9029545\ttest1: 0.8777794\tbest: 0.8777794 (1650)\ttotal: 10.3s\tremaining: 8.4s\n",
      "1700:\ttest: 0.9033159\ttest1: 0.8779243\tbest: 0.8779243 (1700)\ttotal: 10.6s\tremaining: 8.09s\n",
      "1750:\ttest: 0.9037586\ttest1: 0.8780638\tbest: 0.8780638 (1750)\ttotal: 10.9s\tremaining: 7.78s\n",
      "1800:\ttest: 0.9041805\ttest1: 0.8781568\tbest: 0.8781568 (1800)\ttotal: 11.3s\tremaining: 7.49s\n",
      "1850:\ttest: 0.9047227\ttest1: 0.8783268\tbest: 0.8783268 (1850)\ttotal: 11.6s\tremaining: 7.18s\n",
      "1900:\ttest: 0.9051731\ttest1: 0.8784430\tbest: 0.8784430 (1900)\ttotal: 11.9s\tremaining: 6.86s\n",
      "1950:\ttest: 0.9056197\ttest1: 0.8785915\tbest: 0.8785915 (1950)\ttotal: 12.2s\tremaining: 6.54s\n",
      "2000:\ttest: 0.9061283\ttest1: 0.8786308\tbest: 0.8786308 (2000)\ttotal: 12.5s\tremaining: 6.23s\n",
      "2050:\ttest: 0.9065554\ttest1: 0.8787578\tbest: 0.8787578 (2050)\ttotal: 12.8s\tremaining: 5.92s\n",
      "2100:\ttest: 0.9070031\ttest1: 0.8788132\tbest: 0.8788132 (2100)\ttotal: 13.1s\tremaining: 5.61s\n",
      "2150:\ttest: 0.9074058\ttest1: 0.8789367\tbest: 0.8789367 (2150)\ttotal: 13.4s\tremaining: 5.29s\n",
      "2200:\ttest: 0.9078187\ttest1: 0.8790225\tbest: 0.8790225 (2200)\ttotal: 13.7s\tremaining: 4.98s\n",
      "2250:\ttest: 0.9082442\ttest1: 0.8790797\tbest: 0.8790797 (2250)\ttotal: 14s\tremaining: 4.67s\n",
      "2300:\ttest: 0.9087452\ttest1: 0.8792336\tbest: 0.8792336 (2300)\ttotal: 14.4s\tremaining: 4.38s\n",
      "2350:\ttest: 0.9092273\ttest1: 0.8793051\tbest: 0.8793051 (2350)\ttotal: 14.7s\tremaining: 4.07s\n",
      "2400:\ttest: 0.9095994\ttest1: 0.8794160\tbest: 0.8794160 (2400)\ttotal: 15s\tremaining: 3.75s\n",
      "2450:\ttest: 0.9100412\ttest1: 0.8794714\tbest: 0.8794714 (2450)\ttotal: 15.3s\tremaining: 3.44s\n",
      "2500:\ttest: 0.9104854\ttest1: 0.8794965\tbest: 0.8794965 (2500)\ttotal: 15.6s\tremaining: 3.12s\n",
      "2550:\ttest: 0.9109023\ttest1: 0.8796199\tbest: 0.8796199 (2550)\ttotal: 15.9s\tremaining: 2.81s\n",
      "2600:\ttest: 0.9113545\ttest1: 0.8797057\tbest: 0.8797057 (2600)\ttotal: 16.2s\tremaining: 2.49s\n",
      "2650:\ttest: 0.9118158\ttest1: 0.8797469\tbest: 0.8797469 (2650)\ttotal: 16.5s\tremaining: 2.18s\n",
      "2700:\ttest: 0.9122955\ttest1: 0.8798882\tbest: 0.8798882 (2700)\ttotal: 16.8s\tremaining: 1.86s\n",
      "2750:\ttest: 0.9126793\ttest1: 0.8799454\tbest: 0.8799454 (2750)\ttotal: 17.1s\tremaining: 1.55s\n",
      "2800:\ttest: 0.9130465\ttest1: 0.8800885\tbest: 0.8800885 (2800)\ttotal: 17.4s\tremaining: 1.24s\n",
      "2850:\ttest: 0.9135300\ttest1: 0.8801171\tbest: 0.8801171 (2850)\ttotal: 17.7s\tremaining: 927ms\n",
      "2900:\ttest: 0.9139677\ttest1: 0.8801976\tbest: 0.8801976 (2900)\ttotal: 18s\tremaining: 616ms\n",
      "2950:\ttest: 0.9144250\ttest1: 0.8802781\tbest: 0.8802781 (2950)\ttotal: 18.3s\tremaining: 305ms\n",
      "2999:\ttest: 0.9148497\ttest1: 0.8803389\tbest: 0.8803389 (2999)\ttotal: 18.6s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8803388994\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  2 AUC : 0.880339\n",
      "0:\ttest: 0.8522708\ttest1: 0.8470133\tbest: 0.8470133 (0)\ttotal: 5.93ms\tremaining: 17.8s\n",
      "50:\ttest: 0.8919568\ttest1: 0.8792394\tbest: 0.8792394 (50)\ttotal: 310ms\tremaining: 17.9s\n",
      "100:\ttest: 0.8935278\ttest1: 0.8787826\tbest: 0.8792394 (50)\ttotal: 632ms\tremaining: 18.1s\n",
      "150:\ttest: 0.8940681\ttest1: 0.8797836\tbest: 0.8797836 (150)\ttotal: 929ms\tremaining: 17.5s\n",
      "200:\ttest: 0.8944358\ttest1: 0.8795998\tbest: 0.8797836 (150)\ttotal: 1.23s\tremaining: 17.1s\n",
      "250:\ttest: 0.8940998\ttest1: 0.8795249\tbest: 0.8797836 (150)\ttotal: 1.54s\tremaining: 16.9s\n",
      "300:\ttest: 0.8941264\ttest1: 0.8802118\tbest: 0.8802118 (300)\ttotal: 1.84s\tremaining: 16.5s\n",
      "350:\ttest: 0.8943497\ttest1: 0.8805901\tbest: 0.8805901 (350)\ttotal: 2.15s\tremaining: 16.3s\n",
      "400:\ttest: 0.8946352\ttest1: 0.8802743\tbest: 0.8805901 (350)\ttotal: 2.49s\tremaining: 16.1s\n",
      "450:\ttest: 0.8948101\ttest1: 0.8804634\tbest: 0.8805901 (350)\ttotal: 2.84s\tremaining: 16s\n",
      "500:\ttest: 0.8948674\ttest1: 0.8799710\tbest: 0.8805901 (350)\ttotal: 3.15s\tremaining: 15.7s\n",
      "550:\ttest: 0.8951458\ttest1: 0.8797622\tbest: 0.8805901 (350)\ttotal: 3.47s\tremaining: 15.4s\n",
      "600:\ttest: 0.8953297\ttest1: 0.8798532\tbest: 0.8805901 (350)\ttotal: 3.77s\tremaining: 15s\n",
      "650:\ttest: 0.8952754\ttest1: 0.8798407\tbest: 0.8805901 (350)\ttotal: 4.07s\tremaining: 14.7s\n",
      "700:\ttest: 0.8956689\ttest1: 0.8801565\tbest: 0.8805901 (350)\ttotal: 4.37s\tremaining: 14.3s\n",
      "750:\ttest: 0.8959797\ttest1: 0.8801708\tbest: 0.8805901 (350)\ttotal: 4.8s\tremaining: 14.4s\n",
      "800:\ttest: 0.8964048\ttest1: 0.8801298\tbest: 0.8805901 (350)\ttotal: 5.19s\tremaining: 14.3s\n",
      "850:\ttest: 0.8967286\ttest1: 0.8800709\tbest: 0.8805901 (350)\ttotal: 5.58s\tremaining: 14.1s\n",
      "900:\ttest: 0.8970552\ttest1: 0.8799388\tbest: 0.8805901 (350)\ttotal: 6.04s\tremaining: 14.1s\n",
      "950:\ttest: 0.8975092\ttest1: 0.8799174\tbest: 0.8805901 (350)\ttotal: 6.42s\tremaining: 13.8s\n",
      "1000:\ttest: 0.8977967\ttest1: 0.8799567\tbest: 0.8805901 (350)\ttotal: 6.96s\tremaining: 13.9s\n",
      "1050:\ttest: 0.8981301\ttest1: 0.8799888\tbest: 0.8805901 (350)\ttotal: 7.43s\tremaining: 13.8s\n",
      "1100:\ttest: 0.8985623\ttest1: 0.8801369\tbest: 0.8805901 (350)\ttotal: 7.79s\tremaining: 13.4s\n",
      "1150:\ttest: 0.8989785\ttest1: 0.8802850\tbest: 0.8805901 (350)\ttotal: 8.16s\tremaining: 13.1s\n",
      "1200:\ttest: 0.8994610\ttest1: 0.8803260\tbest: 0.8805901 (350)\ttotal: 8.56s\tremaining: 12.8s\n",
      "1250:\ttest: 0.8998787\ttest1: 0.8806615\tbest: 0.8806615 (1250)\ttotal: 8.98s\tremaining: 12.6s\n",
      "1300:\ttest: 0.9003245\ttest1: 0.8807222\tbest: 0.8807222 (1300)\ttotal: 9.41s\tremaining: 12.3s\n",
      "1350:\ttest: 0.9008606\ttest1: 0.8809506\tbest: 0.8809506 (1350)\ttotal: 9.84s\tremaining: 12s\n",
      "1400:\ttest: 0.9013512\ttest1: 0.8811094\tbest: 0.8811094 (1400)\ttotal: 10.3s\tremaining: 11.7s\n",
      "1450:\ttest: 0.9018575\ttest1: 0.8813217\tbest: 0.8813217 (1450)\ttotal: 10.7s\tremaining: 11.4s\n",
      "1500:\ttest: 0.9023853\ttest1: 0.8815073\tbest: 0.8815073 (1500)\ttotal: 11.1s\tremaining: 11.1s\n",
      "1550:\ttest: 0.9028270\ttest1: 0.8816268\tbest: 0.8816268 (1550)\ttotal: 11.5s\tremaining: 10.8s\n",
      "1600:\ttest: 0.9033220\ttest1: 0.8816447\tbest: 0.8816447 (1600)\ttotal: 12.2s\tremaining: 10.6s\n",
      "1650:\ttest: 0.9038110\ttest1: 0.8817392\tbest: 0.8817392 (1650)\ttotal: 12.7s\tremaining: 10.4s\n",
      "1700:\ttest: 0.9042387\ttest1: 0.8818088\tbest: 0.8818088 (1700)\ttotal: 13.2s\tremaining: 10s\n",
      "1750:\ttest: 0.9046704\ttest1: 0.8820247\tbest: 0.8820247 (1750)\ttotal: 13.6s\tremaining: 9.71s\n",
      "1800:\ttest: 0.9051791\ttest1: 0.8821978\tbest: 0.8821978 (1800)\ttotal: 13.9s\tremaining: 9.29s\n",
      "1850:\ttest: 0.9056581\ttest1: 0.8823887\tbest: 0.8823887 (1850)\ttotal: 14.4s\tremaining: 8.93s\n",
      "1900:\ttest: 0.9061965\ttest1: 0.8824565\tbest: 0.8824565 (1900)\ttotal: 14.8s\tremaining: 8.55s\n",
      "1950:\ttest: 0.9067502\ttest1: 0.8826671\tbest: 0.8826671 (1950)\ttotal: 15.2s\tremaining: 8.15s\n",
      "2000:\ttest: 0.9072673\ttest1: 0.8828098\tbest: 0.8828098 (2000)\ttotal: 15.5s\tremaining: 7.72s\n",
      "2050:\ttest: 0.9077312\ttest1: 0.8829115\tbest: 0.8829115 (2050)\ttotal: 15.9s\tremaining: 7.34s\n",
      "2100:\ttest: 0.9081647\ttest1: 0.8830329\tbest: 0.8830329 (2100)\ttotal: 16.2s\tremaining: 6.93s\n",
      "2150:\ttest: 0.9086173\ttest1: 0.8830686\tbest: 0.8830686 (2150)\ttotal: 16.6s\tremaining: 6.54s\n",
      "2200:\ttest: 0.9090864\ttest1: 0.8831560\tbest: 0.8831560 (2200)\ttotal: 16.9s\tremaining: 6.14s\n",
      "2250:\ttest: 0.9095878\ttest1: 0.8833184\tbest: 0.8833184 (2250)\ttotal: 17.2s\tremaining: 5.73s\n",
      "2300:\ttest: 0.9100003\ttest1: 0.8834772\tbest: 0.8834772 (2300)\ttotal: 17.6s\tremaining: 5.34s\n",
      "2350:\ttest: 0.9104581\ttest1: 0.8835378\tbest: 0.8835378 (2350)\ttotal: 17.9s\tremaining: 4.94s\n",
      "2400:\ttest: 0.9109008\ttest1: 0.8836235\tbest: 0.8836235 (2400)\ttotal: 18.2s\tremaining: 4.54s\n",
      "2450:\ttest: 0.9113846\ttest1: 0.8836449\tbest: 0.8836449 (2450)\ttotal: 18.5s\tremaining: 4.15s\n",
      "2500:\ttest: 0.9117766\ttest1: 0.8837662\tbest: 0.8837662 (2500)\ttotal: 18.8s\tremaining: 3.76s\n",
      "2550:\ttest: 0.9121890\ttest1: 0.8837466\tbest: 0.8837662 (2500)\ttotal: 19.1s\tremaining: 3.37s\n",
      "2600:\ttest: 0.9125753\ttest1: 0.8836485\tbest: 0.8837662 (2500)\ttotal: 19.5s\tremaining: 2.99s\n",
      "2650:\ttest: 0.9130769\ttest1: 0.8837645\tbest: 0.8837662 (2500)\ttotal: 19.9s\tremaining: 2.62s\n",
      "2700:\ttest: 0.9135078\ttest1: 0.8837680\tbest: 0.8837680 (2700)\ttotal: 20.3s\tremaining: 2.24s\n",
      "2750:\ttest: 0.9139989\ttest1: 0.8838055\tbest: 0.8838055 (2750)\ttotal: 20.7s\tremaining: 1.88s\n",
      "2800:\ttest: 0.9144338\ttest1: 0.8838019\tbest: 0.8838055 (2750)\ttotal: 21.2s\tremaining: 1.5s\n",
      "2850:\ttest: 0.9148084\ttest1: 0.8838572\tbest: 0.8838572 (2850)\ttotal: 21.6s\tremaining: 1.13s\n",
      "2900:\ttest: 0.9151961\ttest1: 0.8838894\tbest: 0.8838894 (2900)\ttotal: 21.9s\tremaining: 749ms\n",
      "2950:\ttest: 0.9156014\ttest1: 0.8838822\tbest: 0.8838894 (2900)\ttotal: 22.3s\tremaining: 371ms\n",
      "2999:\ttest: 0.9160114\ttest1: 0.8838929\tbest: 0.8838929 (2999)\ttotal: 22.7s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8838929324\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  3 AUC : 0.883893\n",
      "0:\ttest: 0.8583420\ttest1: 0.8507773\tbest: 0.8507773 (0)\ttotal: 9.19ms\tremaining: 27.6s\n",
      "50:\ttest: 0.8940298\ttest1: 0.8751479\tbest: 0.8751479 (50)\ttotal: 407ms\tremaining: 23.6s\n",
      "100:\ttest: 0.8961467\ttest1: 0.8772463\tbest: 0.8772463 (100)\ttotal: 766ms\tremaining: 22s\n",
      "150:\ttest: 0.8973524\ttest1: 0.8776531\tbest: 0.8776531 (150)\ttotal: 1.09s\tremaining: 20.6s\n",
      "200:\ttest: 0.8977374\ttest1: 0.8778173\tbest: 0.8778173 (200)\ttotal: 1.43s\tremaining: 19.9s\n",
      "250:\ttest: 0.8976145\ttest1: 0.8772320\tbest: 0.8778173 (200)\ttotal: 1.73s\tremaining: 19s\n",
      "300:\ttest: 0.8972764\ttest1: 0.8774283\tbest: 0.8778173 (200)\ttotal: 2.06s\tremaining: 18.5s\n",
      "350:\ttest: 0.8974430\ttest1: 0.8772748\tbest: 0.8778173 (200)\ttotal: 2.46s\tremaining: 18.6s\n",
      "400:\ttest: 0.8977860\ttest1: 0.8770750\tbest: 0.8778173 (200)\ttotal: 3.05s\tremaining: 19.8s\n",
      "450:\ttest: 0.8976926\ttest1: 0.8767877\tbest: 0.8778173 (200)\ttotal: 3.38s\tremaining: 19.1s\n",
      "500:\ttest: 0.8979410\ttest1: 0.8764754\tbest: 0.8778173 (200)\ttotal: 3.71s\tremaining: 18.5s\n",
      "550:\ttest: 0.8982342\ttest1: 0.8761418\tbest: 0.8778173 (200)\ttotal: 4.04s\tremaining: 17.9s\n",
      "600:\ttest: 0.8982597\ttest1: 0.8761114\tbest: 0.8778173 (200)\ttotal: 4.34s\tremaining: 17.3s\n",
      "650:\ttest: 0.8985672\ttest1: 0.8758081\tbest: 0.8778173 (200)\ttotal: 4.68s\tremaining: 16.9s\n",
      "700:\ttest: 0.8989113\ttest1: 0.8756047\tbest: 0.8778173 (200)\ttotal: 5.03s\tremaining: 16.5s\n",
      "750:\ttest: 0.8991768\ttest1: 0.8754352\tbest: 0.8778173 (200)\ttotal: 5.37s\tremaining: 16.1s\n",
      "800:\ttest: 0.8995423\ttest1: 0.8752407\tbest: 0.8778173 (200)\ttotal: 5.68s\tremaining: 15.6s\n",
      "850:\ttest: 0.8999094\ttest1: 0.8751497\tbest: 0.8778173 (200)\ttotal: 5.98s\tremaining: 15.1s\n",
      "900:\ttest: 0.9001776\ttest1: 0.8750694\tbest: 0.8778173 (200)\ttotal: 6.28s\tremaining: 14.6s\n",
      "950:\ttest: 0.9005645\ttest1: 0.8748963\tbest: 0.8778173 (200)\ttotal: 6.59s\tremaining: 14.2s\n",
      "1000:\ttest: 0.9008546\ttest1: 0.8748802\tbest: 0.8778173 (200)\ttotal: 6.89s\tremaining: 13.8s\n",
      "1050:\ttest: 0.9011505\ttest1: 0.8747054\tbest: 0.8778173 (200)\ttotal: 7.2s\tremaining: 13.4s\n",
      "1100:\ttest: 0.9014814\ttest1: 0.8746411\tbest: 0.8778173 (200)\ttotal: 7.52s\tremaining: 13s\n",
      "1150:\ttest: 0.9018535\ttest1: 0.8745840\tbest: 0.8778173 (200)\ttotal: 7.83s\tremaining: 12.6s\n",
      "1200:\ttest: 0.9021508\ttest1: 0.8746643\tbest: 0.8778173 (200)\ttotal: 8.14s\tremaining: 12.2s\n",
      "1250:\ttest: 0.9026485\ttest1: 0.8746518\tbest: 0.8778173 (200)\ttotal: 8.44s\tremaining: 11.8s\n",
      "1300:\ttest: 0.9030802\ttest1: 0.8745162\tbest: 0.8778173 (200)\ttotal: 8.77s\tremaining: 11.5s\n",
      "1350:\ttest: 0.9036283\ttest1: 0.8745894\tbest: 0.8778173 (200)\ttotal: 9.07s\tremaining: 11.1s\n",
      "1400:\ttest: 0.9040272\ttest1: 0.8747268\tbest: 0.8778173 (200)\ttotal: 9.37s\tremaining: 10.7s\n",
      "1450:\ttest: 0.9044252\ttest1: 0.8748749\tbest: 0.8778173 (200)\ttotal: 9.66s\tremaining: 10.3s\n",
      "1500:\ttest: 0.9049204\ttest1: 0.8748106\tbest: 0.8778173 (200)\ttotal: 9.96s\tremaining: 9.95s\n",
      "1550:\ttest: 0.9053080\ttest1: 0.8748213\tbest: 0.8778173 (200)\ttotal: 10.3s\tremaining: 9.59s\n",
      "1600:\ttest: 0.9056791\ttest1: 0.8748267\tbest: 0.8778173 (200)\ttotal: 10.6s\tremaining: 9.23s\n",
      "1650:\ttest: 0.9060806\ttest1: 0.8748017\tbest: 0.8778173 (200)\ttotal: 10.9s\tremaining: 8.87s\n",
      "1700:\ttest: 0.9064404\ttest1: 0.8748124\tbest: 0.8778173 (200)\ttotal: 11.2s\tremaining: 8.54s\n",
      "1750:\ttest: 0.9068533\ttest1: 0.8748481\tbest: 0.8778173 (200)\ttotal: 11.5s\tremaining: 8.2s\n",
      "1800:\ttest: 0.9072566\ttest1: 0.8749106\tbest: 0.8778173 (200)\ttotal: 11.8s\tremaining: 7.85s\n",
      "1850:\ttest: 0.9077034\ttest1: 0.8749730\tbest: 0.8778173 (200)\ttotal: 12.1s\tremaining: 7.5s\n",
      "1900:\ttest: 0.9081363\ttest1: 0.8749605\tbest: 0.8778173 (200)\ttotal: 12.4s\tremaining: 7.16s\n",
      "1950:\ttest: 0.9085478\ttest1: 0.8750676\tbest: 0.8778173 (200)\ttotal: 12.7s\tremaining: 6.82s\n",
      "2000:\ttest: 0.9089981\ttest1: 0.8751015\tbest: 0.8778173 (200)\ttotal: 13s\tremaining: 6.48s\n",
      "2050:\ttest: 0.9094714\ttest1: 0.8751336\tbest: 0.8778173 (200)\ttotal: 13.3s\tremaining: 6.14s\n",
      "2100:\ttest: 0.9098652\ttest1: 0.8752442\tbest: 0.8778173 (200)\ttotal: 13.6s\tremaining: 5.8s\n",
      "2150:\ttest: 0.9102497\ttest1: 0.8752746\tbest: 0.8778173 (200)\ttotal: 13.9s\tremaining: 5.47s\n",
      "2200:\ttest: 0.9106761\ttest1: 0.8752068\tbest: 0.8778173 (200)\ttotal: 14.2s\tremaining: 5.14s\n",
      "2250:\ttest: 0.9110805\ttest1: 0.8752603\tbest: 0.8778173 (200)\ttotal: 14.5s\tremaining: 4.81s\n",
      "2300:\ttest: 0.9114564\ttest1: 0.8752085\tbest: 0.8778173 (200)\ttotal: 14.8s\tremaining: 4.48s\n",
      "2350:\ttest: 0.9118033\ttest1: 0.8751175\tbest: 0.8778173 (200)\ttotal: 15s\tremaining: 4.15s\n",
      "2400:\ttest: 0.9122742\ttest1: 0.8751782\tbest: 0.8778173 (200)\ttotal: 15.3s\tremaining: 3.83s\n",
      "2450:\ttest: 0.9126953\ttest1: 0.8752068\tbest: 0.8778173 (200)\ttotal: 15.6s\tremaining: 3.5s\n",
      "2500:\ttest: 0.9131558\ttest1: 0.8751711\tbest: 0.8778173 (200)\ttotal: 15.9s\tremaining: 3.18s\n",
      "2550:\ttest: 0.9136359\ttest1: 0.8751693\tbest: 0.8778173 (200)\ttotal: 16.2s\tremaining: 2.85s\n",
      "2600:\ttest: 0.9140418\ttest1: 0.8751407\tbest: 0.8778173 (200)\ttotal: 16.5s\tremaining: 2.53s\n",
      "2650:\ttest: 0.9144377\ttest1: 0.8751407\tbest: 0.8778173 (200)\ttotal: 16.8s\tremaining: 2.21s\n",
      "2700:\ttest: 0.9148511\ttest1: 0.8751532\tbest: 0.8778173 (200)\ttotal: 17.1s\tremaining: 1.9s\n",
      "2750:\ttest: 0.9153466\ttest1: 0.8750943\tbest: 0.8778173 (200)\ttotal: 17.4s\tremaining: 1.58s\n",
      "2800:\ttest: 0.9157357\ttest1: 0.8750908\tbest: 0.8778173 (200)\ttotal: 17.7s\tremaining: 1.26s\n",
      "2850:\ttest: 0.9162288\ttest1: 0.8750390\tbest: 0.8778173 (200)\ttotal: 18s\tremaining: 943ms\n",
      "2900:\ttest: 0.9166527\ttest1: 0.8749819\tbest: 0.8778173 (200)\ttotal: 18.4s\tremaining: 626ms\n",
      "2950:\ttest: 0.9170845\ttest1: 0.8750069\tbest: 0.8778173 (200)\ttotal: 18.7s\tremaining: 310ms\n",
      "2999:\ttest: 0.9174390\ttest1: 0.8749819\tbest: 0.8778173 (200)\ttotal: 18.9s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8778172514\n",
      "bestIteration = 200\n",
      "\n",
      "Shrink model to first 201 iterations.\n",
      "Fold  4 AUC : 0.877817\n",
      "0:\ttest: 0.8561423\ttest1: 0.8665902\tbest: 0.8665902 (0)\ttotal: 6.15ms\tremaining: 18.5s\n",
      "50:\ttest: 0.8891031\ttest1: 0.8792394\tbest: 0.8792394 (50)\ttotal: 296ms\tremaining: 17.1s\n",
      "100:\ttest: 0.8910689\ttest1: 0.8790823\tbest: 0.8792394 (50)\ttotal: 597ms\tremaining: 17.1s\n",
      "150:\ttest: 0.8921662\ttest1: 0.8789896\tbest: 0.8792394 (50)\ttotal: 897ms\tremaining: 16.9s\n",
      "200:\ttest: 0.8930043\ttest1: 0.8797069\tbest: 0.8797069 (200)\ttotal: 1.19s\tremaining: 16.6s\n",
      "250:\ttest: 0.8929122\ttest1: 0.8799638\tbest: 0.8799638 (250)\ttotal: 1.49s\tremaining: 16.3s\n",
      "300:\ttest: 0.8929026\ttest1: 0.8801476\tbest: 0.8801476 (300)\ttotal: 1.79s\tremaining: 16s\n",
      "350:\ttest: 0.8933792\ttest1: 0.8801851\tbest: 0.8801851 (350)\ttotal: 2.09s\tremaining: 15.8s\n",
      "400:\ttest: 0.8935470\ttest1: 0.8800994\tbest: 0.8801851 (350)\ttotal: 2.38s\tremaining: 15.4s\n",
      "450:\ttest: 0.8937693\ttest1: 0.8801708\tbest: 0.8801851 (350)\ttotal: 2.67s\tremaining: 15.1s\n",
      "500:\ttest: 0.8939283\ttest1: 0.8801494\tbest: 0.8801851 (350)\ttotal: 2.98s\tremaining: 14.8s\n",
      "550:\ttest: 0.8941238\ttest1: 0.8800691\tbest: 0.8801851 (350)\ttotal: 3.28s\tremaining: 14.6s\n",
      "600:\ttest: 0.8942901\ttest1: 0.8802440\tbest: 0.8802440 (600)\ttotal: 3.58s\tremaining: 14.3s\n",
      "650:\ttest: 0.8946448\ttest1: 0.8802457\tbest: 0.8802457 (650)\ttotal: 3.87s\tremaining: 14s\n",
      "700:\ttest: 0.8949280\ttest1: 0.8802457\tbest: 0.8802457 (650)\ttotal: 4.16s\tremaining: 13.7s\n",
      "750:\ttest: 0.8951182\ttest1: 0.8804081\tbest: 0.8804081 (750)\ttotal: 4.46s\tremaining: 13.3s\n",
      "800:\ttest: 0.8954672\ttest1: 0.8802993\tbest: 0.8804081 (750)\ttotal: 4.75s\tremaining: 13s\n",
      "850:\ttest: 0.8959783\ttest1: 0.8804563\tbest: 0.8804563 (850)\ttotal: 5.05s\tremaining: 12.7s\n",
      "900:\ttest: 0.8964093\ttest1: 0.8804973\tbest: 0.8804973 (900)\ttotal: 5.35s\tremaining: 12.5s\n",
      "950:\ttest: 0.8966463\ttest1: 0.8806936\tbest: 0.8806936 (950)\ttotal: 5.67s\tremaining: 12.2s\n",
      "1000:\ttest: 0.8970748\ttest1: 0.8807614\tbest: 0.8807614 (1000)\ttotal: 5.96s\tremaining: 11.9s\n",
      "1050:\ttest: 0.8976101\ttest1: 0.8808935\tbest: 0.8808935 (1050)\ttotal: 6.27s\tremaining: 11.6s\n",
      "1100:\ttest: 0.8980617\ttest1: 0.8810576\tbest: 0.8810576 (1100)\ttotal: 6.56s\tremaining: 11.3s\n",
      "1150:\ttest: 0.8984645\ttest1: 0.8813181\tbest: 0.8813181 (1150)\ttotal: 6.86s\tremaining: 11s\n",
      "1200:\ttest: 0.8987598\ttest1: 0.8814073\tbest: 0.8814073 (1200)\ttotal: 7.16s\tremaining: 10.7s\n",
      "1250:\ttest: 0.8992291\ttest1: 0.8814627\tbest: 0.8814627 (1250)\ttotal: 7.51s\tremaining: 10.5s\n",
      "1300:\ttest: 0.8997045\ttest1: 0.8814787\tbest: 0.8814787 (1300)\ttotal: 7.84s\tremaining: 10.2s\n",
      "1350:\ttest: 0.9000661\ttest1: 0.8816161\tbest: 0.8816161 (1350)\ttotal: 8.16s\tremaining: 9.96s\n",
      "1400:\ttest: 0.9004714\ttest1: 0.8816554\tbest: 0.8816554 (1400)\ttotal: 8.5s\tremaining: 9.7s\n",
      "1450:\ttest: 0.9008865\ttest1: 0.8817160\tbest: 0.8817160 (1450)\ttotal: 8.88s\tremaining: 9.48s\n",
      "1500:\ttest: 0.9012034\ttest1: 0.8818838\tbest: 0.8818838 (1500)\ttotal: 9.26s\tremaining: 9.25s\n",
      "1550:\ttest: 0.9016301\ttest1: 0.8820783\tbest: 0.8820783 (1550)\ttotal: 9.66s\tremaining: 9.02s\n",
      "1600:\ttest: 0.9021197\ttest1: 0.8821371\tbest: 0.8821371 (1600)\ttotal: 10s\tremaining: 8.76s\n",
      "1650:\ttest: 0.9025218\ttest1: 0.8822353\tbest: 0.8822353 (1650)\ttotal: 10.4s\tremaining: 8.51s\n",
      "1700:\ttest: 0.9030190\ttest1: 0.8823923\tbest: 0.8823923 (1700)\ttotal: 10.8s\tremaining: 8.27s\n",
      "1750:\ttest: 0.9034481\ttest1: 0.8825475\tbest: 0.8825475 (1750)\ttotal: 11.3s\tremaining: 8.08s\n",
      "1800:\ttest: 0.9038554\ttest1: 0.8826171\tbest: 0.8826171 (1800)\ttotal: 11.8s\tremaining: 7.84s\n",
      "1850:\ttest: 0.9043357\ttest1: 0.8826635\tbest: 0.8826635 (1850)\ttotal: 12.2s\tremaining: 7.58s\n",
      "1900:\ttest: 0.9047549\ttest1: 0.8828420\tbest: 0.8828420 (1900)\ttotal: 12.7s\tremaining: 7.32s\n",
      "1950:\ttest: 0.9051924\ttest1: 0.8829294\tbest: 0.8829294 (1950)\ttotal: 13.1s\tremaining: 7.05s\n",
      "2000:\ttest: 0.9057039\ttest1: 0.8830115\tbest: 0.8830115 (2000)\ttotal: 13.6s\tremaining: 6.77s\n",
      "2050:\ttest: 0.9061442\ttest1: 0.8830561\tbest: 0.8830561 (2050)\ttotal: 14s\tremaining: 6.49s\n",
      "2100:\ttest: 0.9066098\ttest1: 0.8830561\tbest: 0.8830561 (2050)\ttotal: 14.5s\tremaining: 6.2s\n",
      "2150:\ttest: 0.9070201\ttest1: 0.8831150\tbest: 0.8831150 (2150)\ttotal: 14.9s\tremaining: 5.9s\n",
      "2200:\ttest: 0.9074989\ttest1: 0.8831988\tbest: 0.8831988 (2200)\ttotal: 15.4s\tremaining: 5.59s\n",
      "2250:\ttest: 0.9079133\ttest1: 0.8832399\tbest: 0.8832399 (2250)\ttotal: 15.8s\tremaining: 5.27s\n",
      "2300:\ttest: 0.9084357\ttest1: 0.8832488\tbest: 0.8832488 (2300)\ttotal: 16.2s\tremaining: 4.92s\n",
      "2350:\ttest: 0.9088911\ttest1: 0.8832595\tbest: 0.8832595 (2350)\ttotal: 16.5s\tremaining: 4.56s\n",
      "2400:\ttest: 0.9093593\ttest1: 0.8833612\tbest: 0.8833612 (2400)\ttotal: 16.8s\tremaining: 4.2s\n",
      "2450:\ttest: 0.9098023\ttest1: 0.8834415\tbest: 0.8834415 (2450)\ttotal: 17.2s\tremaining: 3.84s\n",
      "2500:\ttest: 0.9102523\ttest1: 0.8835218\tbest: 0.8835218 (2500)\ttotal: 17.5s\tremaining: 3.49s\n",
      "2550:\ttest: 0.9106678\ttest1: 0.8836645\tbest: 0.8836645 (2550)\ttotal: 17.8s\tremaining: 3.13s\n",
      "2600:\ttest: 0.9110308\ttest1: 0.8836913\tbest: 0.8836913 (2600)\ttotal: 18.1s\tremaining: 2.78s\n",
      "2650:\ttest: 0.9114254\ttest1: 0.8837502\tbest: 0.8837502 (2650)\ttotal: 18.4s\tremaining: 2.43s\n",
      "2700:\ttest: 0.9118703\ttest1: 0.8837520\tbest: 0.8837520 (2700)\ttotal: 18.8s\tremaining: 2.08s\n",
      "2750:\ttest: 0.9122777\ttest1: 0.8837377\tbest: 0.8837520 (2700)\ttotal: 19.1s\tremaining: 1.73s\n",
      "2800:\ttest: 0.9127435\ttest1: 0.8838037\tbest: 0.8838037 (2800)\ttotal: 19.5s\tremaining: 1.39s\n",
      "2850:\ttest: 0.9131409\ttest1: 0.8838822\tbest: 0.8838822 (2850)\ttotal: 19.9s\tremaining: 1.04s\n",
      "2900:\ttest: 0.9135662\ttest1: 0.8839340\tbest: 0.8839340 (2900)\ttotal: 20.2s\tremaining: 690ms\n",
      "2950:\ttest: 0.9139940\ttest1: 0.8839625\tbest: 0.8839625 (2950)\ttotal: 20.7s\tremaining: 343ms\n",
      "2999:\ttest: 0.9143521\ttest1: 0.8839482\tbest: 0.8839625 (2950)\ttotal: 21s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8839625217\n",
      "bestIteration = 2950\n",
      "\n",
      "Shrink model to first 2951 iterations.\n",
      "Fold  5 AUC : 0.883963\n",
      "Full AUC score 0.848704\n"
     ]
    }
   ],
   "source": [
    "# 调整精度,去除更多不相关特征,使用StratifiedKFold训练初始模型后，模型catboost(更新于211118)\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 定义新的训练和测试集\n",
    "\n",
    "train = data[data['isDefault'].notna()]\n",
    "\n",
    "print(f'Size of training set: {len(train)}')\n",
    "\n",
    "test  = data[data['isDefault'].isna()]\n",
    "\n",
    "print(f'Size of testing set: {len(test)}')\n",
    "\n",
    "# for col in ['sub_class', 'work_type']:\n",
    "#     del train[col]\n",
    "#     del test[col]\n",
    "\n",
    "\n",
    "del data\n",
    "del train_data,test_public\n",
    "\n",
    "\n",
    "y = train['isDefault']\n",
    "folds = StratifiedKFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "oof_preds, test_preds, importances = train_model(train, test, y, folds) # Use the training set to predict the labels in the testing set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Size of training set: 10000\n",
      "Size of testing set: 5000\n",
      "0:\ttest: 0.8569656\ttest1: 0.8305038\tbest: 0.8305038 (0)\ttotal: 10.1ms\tremaining: 30.2s\n",
      "50:\ttest: 0.8965645\ttest1: 0.8695144\tbest: 0.8695144 (50)\ttotal: 187ms\tremaining: 10.8s\n",
      "100:\ttest: 0.8958697\ttest1: 0.8696575\tbest: 0.8696575 (100)\ttotal: 356ms\tremaining: 10.2s\n",
      "150:\ttest: 0.8958443\ttest1: 0.8694018\tbest: 0.8696575 (100)\ttotal: 561ms\tremaining: 10.6s\n",
      "200:\ttest: 0.8961586\ttest1: 0.8696486\tbest: 0.8696575 (100)\ttotal: 739ms\tremaining: 10.3s\n",
      "250:\ttest: 0.8963113\ttest1: 0.8697022\tbest: 0.8697022 (250)\ttotal: 920ms\tremaining: 10.1s\n",
      "300:\ttest: 0.8964117\ttest1: 0.8695466\tbest: 0.8697022 (250)\ttotal: 1.09s\tremaining: 9.75s\n",
      "350:\ttest: 0.8966074\ttest1: 0.8688849\tbest: 0.8697022 (250)\ttotal: 1.28s\tremaining: 9.63s\n",
      "400:\ttest: 0.8968469\ttest1: 0.8688634\tbest: 0.8697022 (250)\ttotal: 1.46s\tremaining: 9.45s\n",
      "450:\ttest: 0.8970889\ttest1: 0.8688938\tbest: 0.8697022 (250)\ttotal: 1.64s\tremaining: 9.25s\n",
      "500:\ttest: 0.8971188\ttest1: 0.8689492\tbest: 0.8697022 (250)\ttotal: 1.82s\tremaining: 9.07s\n",
      "550:\ttest: 0.8973359\ttest1: 0.8690870\tbest: 0.8697022 (250)\ttotal: 2.02s\tremaining: 8.98s\n",
      "600:\ttest: 0.8974189\ttest1: 0.8692193\tbest: 0.8697022 (250)\ttotal: 2.2s\tremaining: 8.79s\n",
      "650:\ttest: 0.8976099\ttest1: 0.8695109\tbest: 0.8697022 (250)\ttotal: 2.39s\tremaining: 8.62s\n",
      "700:\ttest: 0.8978016\ttest1: 0.8693535\tbest: 0.8697022 (250)\ttotal: 2.56s\tremaining: 8.4s\n",
      "750:\ttest: 0.8980263\ttest1: 0.8696378\tbest: 0.8697022 (250)\ttotal: 2.73s\tremaining: 8.19s\n",
      "800:\ttest: 0.8985679\ttest1: 0.8699026\tbest: 0.8699026 (800)\ttotal: 2.92s\tremaining: 8.01s\n",
      "850:\ttest: 0.8989109\ttest1: 0.8702013\tbest: 0.8702013 (850)\ttotal: 3.08s\tremaining: 7.79s\n",
      "900:\ttest: 0.8992641\ttest1: 0.8700832\tbest: 0.8702013 (850)\ttotal: 3.28s\tremaining: 7.64s\n",
      "950:\ttest: 0.8995668\ttest1: 0.8703014\tbest: 0.8703014 (950)\ttotal: 3.47s\tremaining: 7.48s\n",
      "1000:\ttest: 0.8998706\ttest1: 0.8703873\tbest: 0.8703873 (1000)\ttotal: 3.65s\tremaining: 7.3s\n",
      "1050:\ttest: 0.9002783\ttest1: 0.8705107\tbest: 0.8705107 (1050)\ttotal: 3.83s\tremaining: 7.1s\n",
      "1100:\ttest: 0.9007010\ttest1: 0.8704570\tbest: 0.8705107 (1050)\ttotal: 4s\tremaining: 6.9s\n",
      "1150:\ttest: 0.9010502\ttest1: 0.8706877\tbest: 0.8706877 (1150)\ttotal: 4.18s\tremaining: 6.71s\n",
      "1200:\ttest: 0.9014024\ttest1: 0.8708952\tbest: 0.8708952 (1200)\ttotal: 4.36s\tremaining: 6.53s\n",
      "1250:\ttest: 0.9017988\ttest1: 0.8709864\tbest: 0.8709864 (1250)\ttotal: 4.55s\tremaining: 6.36s\n",
      "1300:\ttest: 0.9021870\ttest1: 0.8712440\tbest: 0.8712440 (1300)\ttotal: 4.72s\tremaining: 6.17s\n",
      "1350:\ttest: 0.9026700\ttest1: 0.8714604\tbest: 0.8714604 (1350)\ttotal: 4.9s\tremaining: 5.98s\n",
      "1400:\ttest: 0.9030585\ttest1: 0.8715570\tbest: 0.8715570 (1400)\ttotal: 5.08s\tremaining: 5.8s\n",
      "1450:\ttest: 0.9034579\ttest1: 0.8717573\tbest: 0.8717573 (1450)\ttotal: 5.25s\tremaining: 5.61s\n",
      "1500:\ttest: 0.9038210\ttest1: 0.8717967\tbest: 0.8717967 (1500)\ttotal: 5.43s\tremaining: 5.42s\n",
      "1550:\ttest: 0.9042401\ttest1: 0.8719290\tbest: 0.8719290 (1550)\ttotal: 5.61s\tremaining: 5.24s\n",
      "1600:\ttest: 0.9046726\ttest1: 0.8720381\tbest: 0.8720381 (1600)\ttotal: 5.78s\tremaining: 5.05s\n",
      "1650:\ttest: 0.9050859\ttest1: 0.8720900\tbest: 0.8720900 (1650)\ttotal: 5.96s\tremaining: 4.87s\n",
      "1700:\ttest: 0.9054978\ttest1: 0.8721258\tbest: 0.8721258 (1700)\ttotal: 6.14s\tremaining: 4.69s\n",
      "1750:\ttest: 0.9059188\ttest1: 0.8722080\tbest: 0.8722080 (1750)\ttotal: 6.33s\tremaining: 4.51s\n",
      "1800:\ttest: 0.9063155\ttest1: 0.8722814\tbest: 0.8722814 (1800)\ttotal: 6.52s\tremaining: 4.34s\n",
      "1850:\ttest: 0.9066889\ttest1: 0.8724370\tbest: 0.8724370 (1850)\ttotal: 6.7s\tremaining: 4.16s\n",
      "1900:\ttest: 0.9070175\ttest1: 0.8723905\tbest: 0.8724370 (1850)\ttotal: 6.88s\tremaining: 3.97s\n",
      "1950:\ttest: 0.9074462\ttest1: 0.8725532\tbest: 0.8725532 (1950)\ttotal: 7.05s\tremaining: 3.79s\n",
      "2000:\ttest: 0.9078646\ttest1: 0.8725586\tbest: 0.8725586 (2000)\ttotal: 7.25s\tremaining: 3.62s\n",
      "2050:\ttest: 0.9082990\ttest1: 0.8726927\tbest: 0.8726927 (2050)\ttotal: 7.42s\tremaining: 3.43s\n",
      "2100:\ttest: 0.9088443\ttest1: 0.8728161\tbest: 0.8728161 (2100)\ttotal: 7.61s\tremaining: 3.25s\n",
      "2150:\ttest: 0.9092613\ttest1: 0.8729056\tbest: 0.8729056 (2150)\ttotal: 7.84s\tremaining: 3.1s\n",
      "2200:\ttest: 0.9097250\ttest1: 0.8729413\tbest: 0.8729413 (2200)\ttotal: 8.03s\tremaining: 2.92s\n",
      "2250:\ttest: 0.9101354\ttest1: 0.8731327\tbest: 0.8731327 (2250)\ttotal: 8.2s\tremaining: 2.73s\n",
      "2300:\ttest: 0.9105961\ttest1: 0.8733259\tbest: 0.8733259 (2300)\ttotal: 8.37s\tremaining: 2.54s\n",
      "2350:\ttest: 0.9110689\ttest1: 0.8734636\tbest: 0.8734636 (2350)\ttotal: 8.58s\tremaining: 2.37s\n",
      "2400:\ttest: 0.9114731\ttest1: 0.8735656\tbest: 0.8735656 (2400)\ttotal: 8.75s\tremaining: 2.18s\n",
      "2450:\ttest: 0.9119486\ttest1: 0.8736228\tbest: 0.8736228 (2450)\ttotal: 8.93s\tremaining: 2s\n",
      "2500:\ttest: 0.9124368\ttest1: 0.8737873\tbest: 0.8737873 (2500)\ttotal: 9.12s\tremaining: 1.82s\n",
      "2550:\ttest: 0.9129097\ttest1: 0.8739608\tbest: 0.8739608 (2550)\ttotal: 9.29s\tremaining: 1.64s\n",
      "2600:\ttest: 0.9134037\ttest1: 0.8740181\tbest: 0.8740181 (2600)\ttotal: 9.47s\tremaining: 1.45s\n",
      "2650:\ttest: 0.9138545\ttest1: 0.8740896\tbest: 0.8740896 (2650)\ttotal: 9.65s\tremaining: 1.27s\n",
      "2700:\ttest: 0.9142975\ttest1: 0.8741111\tbest: 0.8741111 (2700)\ttotal: 9.85s\tremaining: 1.09s\n",
      "2750:\ttest: 0.9147782\ttest1: 0.8742148\tbest: 0.8742148 (2750)\ttotal: 10s\tremaining: 907ms\n",
      "2800:\ttest: 0.9152065\ttest1: 0.8742488\tbest: 0.8742488 (2800)\ttotal: 10.2s\tremaining: 725ms\n",
      "2850:\ttest: 0.9156787\ttest1: 0.8743203\tbest: 0.8743203 (2850)\ttotal: 10.4s\tremaining: 542ms\n",
      "2900:\ttest: 0.9161247\ttest1: 0.8742881\tbest: 0.8743203 (2850)\ttotal: 10.6s\tremaining: 363ms\n",
      "2950:\ttest: 0.9165665\ttest1: 0.8742792\tbest: 0.8743203 (2850)\ttotal: 10.8s\tremaining: 180ms\n",
      "2999:\ttest: 0.9169708\ttest1: 0.8743543\tbest: 0.8743543 (2999)\ttotal: 11s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8743543241\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  1 AUC : 0.874354\n",
      "0:\ttest: 0.8532583\ttest1: 0.8340684\tbest: 0.8340684 (0)\ttotal: 3.31ms\tremaining: 9.94s\n",
      "50:\ttest: 0.8937539\ttest1: 0.8744742\tbest: 0.8744742 (50)\ttotal: 174ms\tremaining: 10s\n",
      "100:\ttest: 0.8932770\ttest1: 0.8747442\tbest: 0.8747442 (100)\ttotal: 363ms\tremaining: 10.4s\n",
      "150:\ttest: 0.8933914\ttest1: 0.8748515\tbest: 0.8748515 (150)\ttotal: 547ms\tremaining: 10.3s\n",
      "200:\ttest: 0.8928884\ttest1: 0.8745564\tbest: 0.8748515 (150)\ttotal: 721ms\tremaining: 10s\n",
      "250:\ttest: 0.8932463\ttest1: 0.8741969\tbest: 0.8748515 (150)\ttotal: 908ms\tremaining: 9.94s\n",
      "300:\ttest: 0.8934828\ttest1: 0.8738428\tbest: 0.8748515 (150)\ttotal: 1.12s\tremaining: 10s\n",
      "350:\ttest: 0.8935514\ttest1: 0.8736621\tbest: 0.8748515 (150)\ttotal: 1.3s\tremaining: 9.85s\n",
      "400:\ttest: 0.8937155\ttest1: 0.8735656\tbest: 0.8748515 (150)\ttotal: 1.48s\tremaining: 9.59s\n",
      "450:\ttest: 0.8939756\ttest1: 0.8737838\tbest: 0.8748515 (150)\ttotal: 1.65s\tremaining: 9.32s\n",
      "500:\ttest: 0.8944241\ttest1: 0.8738696\tbest: 0.8748515 (150)\ttotal: 1.83s\tremaining: 9.13s\n",
      "550:\ttest: 0.8946947\ttest1: 0.8740431\tbest: 0.8748515 (150)\ttotal: 2.03s\tremaining: 9.01s\n",
      "600:\ttest: 0.8949170\ttest1: 0.8744205\tbest: 0.8748515 (150)\ttotal: 2.23s\tremaining: 8.91s\n",
      "650:\ttest: 0.8951842\ttest1: 0.8747907\tbest: 0.8748515 (150)\ttotal: 2.42s\tremaining: 8.74s\n",
      "700:\ttest: 0.8954464\ttest1: 0.8747407\tbest: 0.8748515 (150)\ttotal: 2.6s\tremaining: 8.52s\n",
      "750:\ttest: 0.8956268\ttest1: 0.8749392\tbest: 0.8749392 (750)\ttotal: 2.78s\tremaining: 8.33s\n",
      "800:\ttest: 0.8960861\ttest1: 0.8750930\tbest: 0.8750930 (800)\ttotal: 2.96s\tremaining: 8.12s\n",
      "850:\ttest: 0.8964710\ttest1: 0.8753184\tbest: 0.8753184 (850)\ttotal: 3.13s\tremaining: 7.9s\n",
      "900:\ttest: 0.8968958\ttest1: 0.8755133\tbest: 0.8755133 (900)\ttotal: 3.31s\tremaining: 7.71s\n",
      "950:\ttest: 0.8972728\ttest1: 0.8756242\tbest: 0.8756242 (950)\ttotal: 3.49s\tremaining: 7.51s\n",
      "1000:\ttest: 0.8976405\ttest1: 0.8758102\tbest: 0.8758102 (1000)\ttotal: 3.66s\tremaining: 7.31s\n",
      "1050:\ttest: 0.8979828\ttest1: 0.8759515\tbest: 0.8759515 (1050)\ttotal: 3.84s\tremaining: 7.11s\n",
      "1100:\ttest: 0.8983776\ttest1: 0.8760517\tbest: 0.8760517 (1100)\ttotal: 4.01s\tremaining: 6.91s\n",
      "1150:\ttest: 0.8988536\ttest1: 0.8761912\tbest: 0.8761912 (1150)\ttotal: 4.19s\tremaining: 6.73s\n",
      "1200:\ttest: 0.8992426\ttest1: 0.8762556\tbest: 0.8762556 (1200)\ttotal: 4.36s\tremaining: 6.53s\n",
      "1250:\ttest: 0.8996863\ttest1: 0.8763969\tbest: 0.8763969 (1250)\ttotal: 4.54s\tremaining: 6.35s\n",
      "1300:\ttest: 0.9001819\ttest1: 0.8765811\tbest: 0.8765811 (1300)\ttotal: 4.72s\tremaining: 6.17s\n",
      "1350:\ttest: 0.9006299\ttest1: 0.8767385\tbest: 0.8767385 (1350)\ttotal: 4.91s\tremaining: 5.99s\n",
      "1400:\ttest: 0.9010451\ttest1: 0.8769102\tbest: 0.8769102 (1400)\ttotal: 5.1s\tremaining: 5.82s\n",
      "1450:\ttest: 0.9014808\ttest1: 0.8771695\tbest: 0.8771695 (1450)\ttotal: 5.27s\tremaining: 5.63s\n",
      "1500:\ttest: 0.9020148\ttest1: 0.8773305\tbest: 0.8773305 (1500)\ttotal: 5.45s\tremaining: 5.45s\n",
      "1550:\ttest: 0.9024663\ttest1: 0.8774700\tbest: 0.8774700 (1550)\ttotal: 5.65s\tremaining: 5.28s\n",
      "1600:\ttest: 0.9028950\ttest1: 0.8776507\tbest: 0.8776507 (1600)\ttotal: 5.82s\tremaining: 5.08s\n",
      "1650:\ttest: 0.9033441\ttest1: 0.8778152\tbest: 0.8778152 (1650)\ttotal: 6.03s\tremaining: 4.93s\n",
      "1700:\ttest: 0.9037769\ttest1: 0.8779762\tbest: 0.8779762 (1700)\ttotal: 6.22s\tremaining: 4.75s\n",
      "1750:\ttest: 0.9041752\ttest1: 0.8781264\tbest: 0.8781264 (1750)\ttotal: 6.39s\tremaining: 4.56s\n",
      "1800:\ttest: 0.9046461\ttest1: 0.8782463\tbest: 0.8782463 (1800)\ttotal: 6.58s\tremaining: 4.38s\n",
      "1850:\ttest: 0.9050801\ttest1: 0.8784072\tbest: 0.8784072 (1850)\ttotal: 6.76s\tremaining: 4.2s\n",
      "1900:\ttest: 0.9055177\ttest1: 0.8785432\tbest: 0.8785432 (1900)\ttotal: 6.96s\tremaining: 4.02s\n",
      "1950:\ttest: 0.9059139\ttest1: 0.8786755\tbest: 0.8786755 (1950)\ttotal: 7.14s\tremaining: 3.84s\n",
      "2000:\ttest: 0.9063007\ttest1: 0.8787739\tbest: 0.8787739 (2000)\ttotal: 7.33s\tremaining: 3.66s\n",
      "2050:\ttest: 0.9067317\ttest1: 0.8789116\tbest: 0.8789116 (2050)\ttotal: 7.5s\tremaining: 3.47s\n",
      "2100:\ttest: 0.9072192\ttest1: 0.8790923\tbest: 0.8790923 (2100)\ttotal: 7.67s\tremaining: 3.28s\n",
      "2150:\ttest: 0.9076961\ttest1: 0.8791048\tbest: 0.8791048 (2150)\ttotal: 7.84s\tremaining: 3.1s\n",
      "2200:\ttest: 0.9081650\ttest1: 0.8791209\tbest: 0.8791209 (2200)\ttotal: 8.07s\tremaining: 2.93s\n",
      "2250:\ttest: 0.9085699\ttest1: 0.8792658\tbest: 0.8792658 (2250)\ttotal: 8.23s\tremaining: 2.74s\n",
      "2300:\ttest: 0.9090289\ttest1: 0.8793784\tbest: 0.8793784 (2300)\ttotal: 8.41s\tremaining: 2.55s\n",
      "2350:\ttest: 0.9094324\ttest1: 0.8794732\tbest: 0.8794732 (2350)\ttotal: 8.58s\tremaining: 2.37s\n",
      "2400:\ttest: 0.9098372\ttest1: 0.8795662\tbest: 0.8795662 (2400)\ttotal: 8.78s\tremaining: 2.19s\n",
      "2450:\ttest: 0.9103334\ttest1: 0.8797040\tbest: 0.8797040 (2450)\ttotal: 8.98s\tremaining: 2.01s\n",
      "2500:\ttest: 0.9108007\ttest1: 0.8797809\tbest: 0.8797809 (2500)\ttotal: 9.16s\tremaining: 1.83s\n",
      "2550:\ttest: 0.9112097\ttest1: 0.8798918\tbest: 0.8798918 (2550)\ttotal: 9.35s\tremaining: 1.65s\n",
      "2600:\ttest: 0.9117041\ttest1: 0.8800009\tbest: 0.8800009 (2600)\ttotal: 9.54s\tremaining: 1.46s\n",
      "2650:\ttest: 0.9121605\ttest1: 0.8800509\tbest: 0.8800509 (2650)\ttotal: 9.74s\tremaining: 1.28s\n",
      "2700:\ttest: 0.9125768\ttest1: 0.8801100\tbest: 0.8801100 (2700)\ttotal: 9.94s\tremaining: 1.1s\n",
      "2750:\ttest: 0.9130553\ttest1: 0.8801350\tbest: 0.8801350 (2750)\ttotal: 10.1s\tremaining: 918ms\n",
      "2800:\ttest: 0.9134876\ttest1: 0.8802101\tbest: 0.8802101 (2800)\ttotal: 10.3s\tremaining: 734ms\n",
      "2850:\ttest: 0.9139270\ttest1: 0.8803103\tbest: 0.8803103 (2850)\ttotal: 10.5s\tremaining: 549ms\n",
      "2900:\ttest: 0.9143705\ttest1: 0.8804802\tbest: 0.8804802 (2900)\ttotal: 10.7s\tremaining: 366ms\n",
      "2950:\ttest: 0.9148084\ttest1: 0.8805428\tbest: 0.8805428 (2950)\ttotal: 10.9s\tremaining: 181ms\n",
      "2999:\ttest: 0.9152245\ttest1: 0.8807217\tbest: 0.8807217 (2999)\ttotal: 11.1s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8807216546\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  2 AUC : 0.880722\n",
      "0:\ttest: 0.8489881\ttest1: 0.8536751\tbest: 0.8536751 (0)\ttotal: 5.3ms\tremaining: 15.9s\n",
      "50:\ttest: 0.8942464\ttest1: 0.8790395\tbest: 0.8790395 (50)\ttotal: 206ms\tremaining: 11.9s\n",
      "100:\ttest: 0.8930705\ttest1: 0.8796855\tbest: 0.8796855 (100)\ttotal: 389ms\tremaining: 11.2s\n",
      "150:\ttest: 0.8932145\ttest1: 0.8808417\tbest: 0.8808417 (150)\ttotal: 591ms\tremaining: 11.2s\n",
      "200:\ttest: 0.8937427\ttest1: 0.8806026\tbest: 0.8808417 (150)\ttotal: 756ms\tremaining: 10.5s\n",
      "250:\ttest: 0.8938703\ttest1: 0.8805580\tbest: 0.8808417 (150)\ttotal: 957ms\tremaining: 10.5s\n",
      "300:\ttest: 0.8942540\ttest1: 0.8805223\tbest: 0.8808417 (150)\ttotal: 1.15s\tremaining: 10.3s\n",
      "350:\ttest: 0.8941082\ttest1: 0.8804206\tbest: 0.8808417 (150)\ttotal: 1.34s\tremaining: 10.1s\n",
      "400:\ttest: 0.8943333\ttest1: 0.8805705\tbest: 0.8808417 (150)\ttotal: 1.53s\tremaining: 9.91s\n",
      "450:\ttest: 0.8944802\ttest1: 0.8805366\tbest: 0.8808417 (150)\ttotal: 1.7s\tremaining: 9.62s\n",
      "500:\ttest: 0.8949207\ttest1: 0.8804563\tbest: 0.8808417 (150)\ttotal: 1.88s\tremaining: 9.4s\n",
      "550:\ttest: 0.8952949\ttest1: 0.8807739\tbest: 0.8808417 (150)\ttotal: 2.08s\tremaining: 9.27s\n",
      "600:\ttest: 0.8956595\ttest1: 0.8807454\tbest: 0.8808417 (150)\ttotal: 2.26s\tremaining: 9.04s\n",
      "650:\ttest: 0.8959742\ttest1: 0.8807614\tbest: 0.8808417 (150)\ttotal: 2.44s\tremaining: 8.82s\n",
      "700:\ttest: 0.8962781\ttest1: 0.8806169\tbest: 0.8808417 (150)\ttotal: 2.63s\tremaining: 8.61s\n",
      "750:\ttest: 0.8966245\ttest1: 0.8806258\tbest: 0.8808417 (150)\ttotal: 2.79s\tremaining: 8.36s\n",
      "800:\ttest: 0.8968984\ttest1: 0.8806187\tbest: 0.8808417 (150)\ttotal: 2.98s\tremaining: 8.18s\n",
      "850:\ttest: 0.8972957\ttest1: 0.8806990\tbest: 0.8808417 (150)\ttotal: 3.16s\tremaining: 7.97s\n",
      "900:\ttest: 0.8976526\ttest1: 0.8807132\tbest: 0.8808417 (150)\ttotal: 3.33s\tremaining: 7.77s\n",
      "950:\ttest: 0.8980644\ttest1: 0.8806793\tbest: 0.8808417 (150)\ttotal: 3.53s\tremaining: 7.6s\n",
      "1000:\ttest: 0.8984038\ttest1: 0.8806526\tbest: 0.8808417 (150)\ttotal: 3.72s\tremaining: 7.42s\n",
      "1050:\ttest: 0.8988303\ttest1: 0.8807097\tbest: 0.8808417 (150)\ttotal: 3.9s\tremaining: 7.23s\n",
      "1100:\ttest: 0.8992609\ttest1: 0.8808203\tbest: 0.8808417 (150)\ttotal: 4.1s\tremaining: 7.07s\n",
      "1150:\ttest: 0.8997772\ttest1: 0.8807971\tbest: 0.8808417 (150)\ttotal: 4.27s\tremaining: 6.86s\n",
      "1200:\ttest: 0.9000884\ttest1: 0.8808221\tbest: 0.8808417 (150)\ttotal: 4.43s\tremaining: 6.64s\n",
      "1250:\ttest: 0.9005889\ttest1: 0.8809202\tbest: 0.8809202 (1250)\ttotal: 4.64s\tremaining: 6.48s\n",
      "1300:\ttest: 0.9010338\ttest1: 0.8811022\tbest: 0.8811022 (1300)\ttotal: 4.83s\tremaining: 6.31s\n",
      "1350:\ttest: 0.9015456\ttest1: 0.8814359\tbest: 0.8814359 (1350)\ttotal: 5.02s\tremaining: 6.13s\n",
      "1400:\ttest: 0.9021514\ttest1: 0.8817696\tbest: 0.8817696 (1400)\ttotal: 5.22s\tremaining: 5.96s\n",
      "1450:\ttest: 0.9025798\ttest1: 0.8819016\tbest: 0.8819016 (1450)\ttotal: 5.42s\tremaining: 5.78s\n",
      "1500:\ttest: 0.9030369\ttest1: 0.8820818\tbest: 0.8820818 (1500)\ttotal: 5.6s\tremaining: 5.59s\n",
      "1550:\ttest: 0.9035405\ttest1: 0.8822906\tbest: 0.8822906 (1550)\ttotal: 5.78s\tremaining: 5.4s\n",
      "1600:\ttest: 0.9040368\ttest1: 0.8824869\tbest: 0.8824869 (1600)\ttotal: 5.98s\tremaining: 5.22s\n",
      "1650:\ttest: 0.9045044\ttest1: 0.8825654\tbest: 0.8825654 (1650)\ttotal: 6.18s\tremaining: 5.05s\n",
      "1700:\ttest: 0.9049289\ttest1: 0.8826707\tbest: 0.8826707 (1700)\ttotal: 6.36s\tremaining: 4.86s\n",
      "1750:\ttest: 0.9053166\ttest1: 0.8828009\tbest: 0.8828009 (1750)\ttotal: 6.59s\tremaining: 4.7s\n",
      "1800:\ttest: 0.9058183\ttest1: 0.8829811\tbest: 0.8829811 (1800)\ttotal: 6.76s\tremaining: 4.5s\n",
      "1850:\ttest: 0.9062693\ttest1: 0.8830525\tbest: 0.8830525 (1850)\ttotal: 6.93s\tremaining: 4.3s\n",
      "1900:\ttest: 0.9068030\ttest1: 0.8832220\tbest: 0.8832220 (1900)\ttotal: 7.11s\tremaining: 4.11s\n",
      "1950:\ttest: 0.9072577\ttest1: 0.8832987\tbest: 0.8832987 (1950)\ttotal: 7.3s\tremaining: 3.92s\n",
      "2000:\ttest: 0.9077250\ttest1: 0.8833576\tbest: 0.8833576 (2000)\ttotal: 7.49s\tremaining: 3.74s\n",
      "2050:\ttest: 0.9081912\ttest1: 0.8835682\tbest: 0.8835682 (2050)\ttotal: 7.7s\tremaining: 3.56s\n",
      "2100:\ttest: 0.9085990\ttest1: 0.8835610\tbest: 0.8835682 (2050)\ttotal: 7.88s\tremaining: 3.37s\n",
      "2150:\ttest: 0.9090353\ttest1: 0.8836485\tbest: 0.8836485 (2150)\ttotal: 8.05s\tremaining: 3.18s\n",
      "2200:\ttest: 0.9095138\ttest1: 0.8836842\tbest: 0.8836842 (2200)\ttotal: 8.23s\tremaining: 2.99s\n",
      "2250:\ttest: 0.9099969\ttest1: 0.8837912\tbest: 0.8837912 (2250)\ttotal: 8.41s\tremaining: 2.8s\n",
      "2300:\ttest: 0.9105304\ttest1: 0.8838715\tbest: 0.8838715 (2300)\ttotal: 8.61s\tremaining: 2.62s\n",
      "2350:\ttest: 0.9109579\ttest1: 0.8839768\tbest: 0.8839768 (2350)\ttotal: 8.78s\tremaining: 2.42s\n",
      "2400:\ttest: 0.9113227\ttest1: 0.8840642\tbest: 0.8840642 (2400)\ttotal: 8.95s\tremaining: 2.23s\n",
      "2450:\ttest: 0.9116979\ttest1: 0.8840856\tbest: 0.8840856 (2450)\ttotal: 9.16s\tremaining: 2.05s\n",
      "2500:\ttest: 0.9120876\ttest1: 0.8841838\tbest: 0.8841838 (2500)\ttotal: 9.32s\tremaining: 1.86s\n",
      "2550:\ttest: 0.9125132\ttest1: 0.8842694\tbest: 0.8842694 (2550)\ttotal: 9.49s\tremaining: 1.67s\n",
      "2600:\ttest: 0.9129610\ttest1: 0.8842855\tbest: 0.8842855 (2600)\ttotal: 9.67s\tremaining: 1.48s\n",
      "2650:\ttest: 0.9133173\ttest1: 0.8843551\tbest: 0.8843551 (2650)\ttotal: 9.84s\tremaining: 1.29s\n",
      "2700:\ttest: 0.9137857\ttest1: 0.8843479\tbest: 0.8843551 (2650)\ttotal: 10s\tremaining: 1.11s\n",
      "2750:\ttest: 0.9142047\ttest1: 0.8844086\tbest: 0.8844086 (2750)\ttotal: 10.2s\tremaining: 922ms\n",
      "2800:\ttest: 0.9145746\ttest1: 0.8844586\tbest: 0.8844586 (2800)\ttotal: 10.4s\tremaining: 735ms\n",
      "2850:\ttest: 0.9149692\ttest1: 0.8844889\tbest: 0.8844889 (2850)\ttotal: 10.6s\tremaining: 552ms\n",
      "2900:\ttest: 0.9153755\ttest1: 0.8845406\tbest: 0.8845406 (2900)\ttotal: 10.7s\tremaining: 366ms\n",
      "2950:\ttest: 0.9157801\ttest1: 0.8845192\tbest: 0.8845406 (2900)\ttotal: 10.9s\tremaining: 181ms\n",
      "2999:\ttest: 0.9161615\ttest1: 0.8845710\tbest: 0.8845710 (2999)\ttotal: 11.1s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.884570982\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  3 AUC : 0.884571\n",
      "0:\ttest: 0.8566933\ttest1: 0.8399633\tbest: 0.8399633 (0)\ttotal: 3.98ms\tremaining: 11.9s\n",
      "50:\ttest: 0.8963203\ttest1: 0.8754030\tbest: 0.8754030 (50)\ttotal: 215ms\tremaining: 12.4s\n",
      "100:\ttest: 0.8963118\ttest1: 0.8761043\tbest: 0.8761043 (100)\ttotal: 382ms\tremaining: 11s\n",
      "150:\ttest: 0.8966493\ttest1: 0.8762274\tbest: 0.8762274 (150)\ttotal: 564ms\tremaining: 10.6s\n",
      "200:\ttest: 0.8971836\ttest1: 0.8764112\tbest: 0.8764112 (200)\ttotal: 765ms\tremaining: 10.7s\n",
      "250:\ttest: 0.8974406\ttest1: 0.8763166\tbest: 0.8764112 (200)\ttotal: 926ms\tremaining: 10.1s\n",
      "300:\ttest: 0.8976346\ttest1: 0.8766414\tbest: 0.8766414 (300)\ttotal: 1.12s\tremaining: 10s\n",
      "350:\ttest: 0.8979444\ttest1: 0.8763844\tbest: 0.8766414 (300)\ttotal: 1.31s\tremaining: 9.93s\n",
      "400:\ttest: 0.8980902\ttest1: 0.8763113\tbest: 0.8766414 (300)\ttotal: 1.49s\tremaining: 9.63s\n",
      "450:\ttest: 0.8985538\ttest1: 0.8761596\tbest: 0.8766414 (300)\ttotal: 1.67s\tremaining: 9.42s\n",
      "500:\ttest: 0.8986807\ttest1: 0.8759080\tbest: 0.8766414 (300)\ttotal: 1.84s\tremaining: 9.17s\n",
      "550:\ttest: 0.8989542\ttest1: 0.8757581\tbest: 0.8766414 (300)\ttotal: 2.04s\tremaining: 9.07s\n",
      "600:\ttest: 0.8989584\ttest1: 0.8755815\tbest: 0.8766414 (300)\ttotal: 2.23s\tremaining: 8.9s\n",
      "650:\ttest: 0.8992345\ttest1: 0.8754976\tbest: 0.8766414 (300)\ttotal: 2.43s\tremaining: 8.77s\n",
      "700:\ttest: 0.8992859\ttest1: 0.8752514\tbest: 0.8766414 (300)\ttotal: 2.6s\tremaining: 8.53s\n",
      "750:\ttest: 0.8994867\ttest1: 0.8749248\tbest: 0.8766414 (300)\ttotal: 2.76s\tremaining: 8.28s\n",
      "800:\ttest: 0.8999862\ttest1: 0.8749873\tbest: 0.8766414 (300)\ttotal: 2.94s\tremaining: 8.07s\n",
      "850:\ttest: 0.9003494\ttest1: 0.8748303\tbest: 0.8766414 (300)\ttotal: 3.12s\tremaining: 7.88s\n",
      "900:\ttest: 0.9007888\ttest1: 0.8747803\tbest: 0.8766414 (300)\ttotal: 3.32s\tremaining: 7.73s\n",
      "950:\ttest: 0.9011483\ttest1: 0.8748178\tbest: 0.8766414 (300)\ttotal: 3.56s\tremaining: 7.68s\n",
      "1000:\ttest: 0.9015146\ttest1: 0.8747892\tbest: 0.8766414 (300)\ttotal: 3.81s\tremaining: 7.62s\n",
      "1050:\ttest: 0.9019300\ttest1: 0.8746429\tbest: 0.8766414 (300)\ttotal: 4s\tremaining: 7.41s\n",
      "1100:\ttest: 0.9023771\ttest1: 0.8744734\tbest: 0.8766414 (300)\ttotal: 4.18s\tremaining: 7.22s\n",
      "1150:\ttest: 0.9027311\ttest1: 0.8746286\tbest: 0.8766414 (300)\ttotal: 4.37s\tremaining: 7.02s\n",
      "1200:\ttest: 0.9030894\ttest1: 0.8746554\tbest: 0.8766414 (300)\ttotal: 4.55s\tremaining: 6.82s\n",
      "1250:\ttest: 0.9035683\ttest1: 0.8746572\tbest: 0.8766414 (300)\ttotal: 4.73s\tremaining: 6.62s\n",
      "1300:\ttest: 0.9038979\ttest1: 0.8747339\tbest: 0.8766414 (300)\ttotal: 4.9s\tremaining: 6.4s\n",
      "1350:\ttest: 0.9043122\ttest1: 0.8749141\tbest: 0.8766414 (300)\ttotal: 5.08s\tremaining: 6.2s\n",
      "1400:\ttest: 0.9048592\ttest1: 0.8749998\tbest: 0.8766414 (300)\ttotal: 5.29s\tremaining: 6.03s\n",
      "1450:\ttest: 0.9053019\ttest1: 0.8749766\tbest: 0.8766414 (300)\ttotal: 5.5s\tremaining: 5.87s\n",
      "1500:\ttest: 0.9056631\ttest1: 0.8749659\tbest: 0.8766414 (300)\ttotal: 5.68s\tremaining: 5.67s\n",
      "1550:\ttest: 0.9060582\ttest1: 0.8750069\tbest: 0.8766414 (300)\ttotal: 5.88s\tremaining: 5.5s\n",
      "1600:\ttest: 0.9064119\ttest1: 0.8750783\tbest: 0.8766414 (300)\ttotal: 6.15s\tremaining: 5.38s\n",
      "1650:\ttest: 0.9068648\ttest1: 0.8751907\tbest: 0.8766414 (300)\ttotal: 6.36s\tremaining: 5.2s\n",
      "1700:\ttest: 0.9073253\ttest1: 0.8750872\tbest: 0.8766414 (300)\ttotal: 6.54s\tremaining: 4.99s\n",
      "1750:\ttest: 0.9077569\ttest1: 0.8751068\tbest: 0.8766414 (300)\ttotal: 6.75s\tremaining: 4.81s\n",
      "1800:\ttest: 0.9081792\ttest1: 0.8751282\tbest: 0.8766414 (300)\ttotal: 6.92s\tremaining: 4.61s\n",
      "1850:\ttest: 0.9086144\ttest1: 0.8752567\tbest: 0.8766414 (300)\ttotal: 7.14s\tremaining: 4.43s\n",
      "1900:\ttest: 0.9089485\ttest1: 0.8751443\tbest: 0.8766414 (300)\ttotal: 7.3s\tremaining: 4.22s\n",
      "1950:\ttest: 0.9093505\ttest1: 0.8750712\tbest: 0.8766414 (300)\ttotal: 7.52s\tremaining: 4.04s\n",
      "2000:\ttest: 0.9097481\ttest1: 0.8750408\tbest: 0.8766414 (300)\ttotal: 7.68s\tremaining: 3.84s\n",
      "2050:\ttest: 0.9101436\ttest1: 0.8751051\tbest: 0.8766414 (300)\ttotal: 7.88s\tremaining: 3.65s\n",
      "2100:\ttest: 0.9105477\ttest1: 0.8751729\tbest: 0.8766414 (300)\ttotal: 8.04s\tremaining: 3.44s\n",
      "2150:\ttest: 0.9108983\ttest1: 0.8751836\tbest: 0.8766414 (300)\ttotal: 8.23s\tremaining: 3.25s\n",
      "2200:\ttest: 0.9113019\ttest1: 0.8751889\tbest: 0.8766414 (300)\ttotal: 8.4s\tremaining: 3.05s\n",
      "2250:\ttest: 0.9117947\ttest1: 0.8751746\tbest: 0.8766414 (300)\ttotal: 8.61s\tremaining: 2.86s\n",
      "2300:\ttest: 0.9122133\ttest1: 0.8751104\tbest: 0.8766414 (300)\ttotal: 8.78s\tremaining: 2.67s\n",
      "2350:\ttest: 0.9126752\ttest1: 0.8751514\tbest: 0.8766414 (300)\ttotal: 8.99s\tremaining: 2.48s\n",
      "2400:\ttest: 0.9130858\ttest1: 0.8751372\tbest: 0.8766414 (300)\ttotal: 9.15s\tremaining: 2.28s\n",
      "2450:\ttest: 0.9135493\ttest1: 0.8751871\tbest: 0.8766414 (300)\ttotal: 9.33s\tremaining: 2.09s\n",
      "2500:\ttest: 0.9139697\ttest1: 0.8752139\tbest: 0.8766414 (300)\ttotal: 9.49s\tremaining: 1.89s\n",
      "2550:\ttest: 0.9143863\ttest1: 0.8752228\tbest: 0.8766414 (300)\ttotal: 9.67s\tremaining: 1.7s\n",
      "2600:\ttest: 0.9147815\ttest1: 0.8752282\tbest: 0.8766414 (300)\ttotal: 9.84s\tremaining: 1.51s\n",
      "2650:\ttest: 0.9152126\ttest1: 0.8752335\tbest: 0.8766414 (300)\ttotal: 10s\tremaining: 1.32s\n",
      "2700:\ttest: 0.9156379\ttest1: 0.8752085\tbest: 0.8766414 (300)\ttotal: 10.2s\tremaining: 1.13s\n",
      "2750:\ttest: 0.9160250\ttest1: 0.8751586\tbest: 0.8766414 (300)\ttotal: 10.4s\tremaining: 940ms\n",
      "2800:\ttest: 0.9163871\ttest1: 0.8751354\tbest: 0.8766414 (300)\ttotal: 10.6s\tremaining: 750ms\n",
      "2850:\ttest: 0.9167779\ttest1: 0.8751622\tbest: 0.8766414 (300)\ttotal: 10.7s\tremaining: 561ms\n",
      "2900:\ttest: 0.9171083\ttest1: 0.8751657\tbest: 0.8766414 (300)\ttotal: 10.9s\tremaining: 373ms\n",
      "2950:\ttest: 0.9175072\ttest1: 0.8751836\tbest: 0.8766414 (300)\ttotal: 11.1s\tremaining: 184ms\n",
      "2999:\ttest: 0.9178704\ttest1: 0.8752371\tbest: 0.8766414 (300)\ttotal: 11.3s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8766413707\n",
      "bestIteration = 300\n",
      "\n",
      "Shrink model to first 301 iterations.\n",
      "Fold  4 AUC : 0.876641\n",
      "0:\ttest: 0.8569447\ttest1: 0.8559957\tbest: 0.8559957 (0)\ttotal: 3.59ms\tremaining: 10.8s\n",
      "50:\ttest: 0.8921392\ttest1: 0.8805419\tbest: 0.8805419 (50)\ttotal: 185ms\tremaining: 10.7s\n",
      "100:\ttest: 0.8921365\ttest1: 0.8789628\tbest: 0.8805419 (50)\ttotal: 359ms\tremaining: 10.3s\n",
      "150:\ttest: 0.8923381\ttest1: 0.8799852\tbest: 0.8805419 (50)\ttotal: 602ms\tremaining: 11.4s\n",
      "200:\ttest: 0.8927365\ttest1: 0.8804028\tbest: 0.8805419 (50)\ttotal: 786ms\tremaining: 10.9s\n",
      "250:\ttest: 0.8927595\ttest1: 0.8802154\tbest: 0.8805419 (50)\ttotal: 969ms\tremaining: 10.6s\n",
      "300:\ttest: 0.8928499\ttest1: 0.8802511\tbest: 0.8805419 (50)\ttotal: 1.14s\tremaining: 10.2s\n",
      "350:\ttest: 0.8932028\ttest1: 0.8800655\tbest: 0.8805419 (50)\ttotal: 1.33s\tremaining: 10.1s\n",
      "400:\ttest: 0.8933804\ttest1: 0.8801440\tbest: 0.8805419 (50)\ttotal: 1.52s\tremaining: 9.85s\n",
      "450:\ttest: 0.8937380\ttest1: 0.8801637\tbest: 0.8805419 (50)\ttotal: 1.72s\tremaining: 9.74s\n",
      "500:\ttest: 0.8939013\ttest1: 0.8802547\tbest: 0.8805419 (50)\ttotal: 1.92s\tremaining: 9.56s\n",
      "550:\ttest: 0.8941744\ttest1: 0.8804866\tbest: 0.8805419 (50)\ttotal: 2.12s\tremaining: 9.42s\n",
      "600:\ttest: 0.8946574\ttest1: 0.8804438\tbest: 0.8805419 (50)\ttotal: 2.28s\tremaining: 9.11s\n",
      "650:\ttest: 0.8948726\ttest1: 0.8804563\tbest: 0.8805419 (50)\ttotal: 2.46s\tremaining: 8.87s\n",
      "700:\ttest: 0.8950948\ttest1: 0.8803635\tbest: 0.8805419 (50)\ttotal: 2.65s\tremaining: 8.7s\n",
      "750:\ttest: 0.8955840\ttest1: 0.8805776\tbest: 0.8805776 (750)\ttotal: 2.85s\tremaining: 8.54s\n",
      "800:\ttest: 0.8959884\ttest1: 0.8807079\tbest: 0.8807079 (800)\ttotal: 3.04s\tremaining: 8.36s\n",
      "850:\ttest: 0.8963964\ttest1: 0.8807882\tbest: 0.8807882 (850)\ttotal: 3.24s\tremaining: 8.17s\n",
      "900:\ttest: 0.8967207\ttest1: 0.8806883\tbest: 0.8807882 (850)\ttotal: 3.4s\tremaining: 7.92s\n",
      "950:\ttest: 0.8970761\ttest1: 0.8807632\tbest: 0.8807882 (850)\ttotal: 3.59s\tremaining: 7.74s\n",
      "1000:\ttest: 0.8975257\ttest1: 0.8809309\tbest: 0.8809309 (1000)\ttotal: 3.77s\tremaining: 7.52s\n",
      "1050:\ttest: 0.8978890\ttest1: 0.8810772\tbest: 0.8810772 (1050)\ttotal: 3.93s\tremaining: 7.29s\n",
      "1100:\ttest: 0.8983728\ttest1: 0.8812039\tbest: 0.8812039 (1100)\ttotal: 4.11s\tremaining: 7.08s\n",
      "1150:\ttest: 0.8988703\ttest1: 0.8813128\tbest: 0.8813128 (1150)\ttotal: 4.28s\tremaining: 6.88s\n",
      "1200:\ttest: 0.8993432\ttest1: 0.8814680\tbest: 0.8814680 (1200)\ttotal: 4.46s\tremaining: 6.68s\n",
      "1250:\ttest: 0.8997627\ttest1: 0.8815590\tbest: 0.8815590 (1250)\ttotal: 4.63s\tremaining: 6.47s\n",
      "1300:\ttest: 0.9001829\ttest1: 0.8816393\tbest: 0.8816393 (1300)\ttotal: 4.8s\tremaining: 6.27s\n",
      "1350:\ttest: 0.9007028\ttest1: 0.8816197\tbest: 0.8816393 (1300)\ttotal: 4.99s\tremaining: 6.09s\n",
      "1400:\ttest: 0.9011444\ttest1: 0.8817856\tbest: 0.8817856 (1400)\ttotal: 5.22s\tremaining: 5.96s\n",
      "1450:\ttest: 0.9015275\ttest1: 0.8819087\tbest: 0.8819087 (1450)\ttotal: 5.41s\tremaining: 5.77s\n",
      "1500:\ttest: 0.9019185\ttest1: 0.8819480\tbest: 0.8819480 (1500)\ttotal: 5.58s\tremaining: 5.58s\n",
      "1550:\ttest: 0.9023451\ttest1: 0.8820800\tbest: 0.8820800 (1550)\ttotal: 5.77s\tremaining: 5.39s\n",
      "1600:\ttest: 0.9028002\ttest1: 0.8821996\tbest: 0.8821996 (1600)\ttotal: 5.95s\tremaining: 5.2s\n",
      "1650:\ttest: 0.9032183\ttest1: 0.8823495\tbest: 0.8823495 (1650)\ttotal: 6.12s\tremaining: 5s\n",
      "1700:\ttest: 0.9036739\ttest1: 0.8824851\tbest: 0.8824851 (1700)\ttotal: 6.29s\tremaining: 4.8s\n",
      "1750:\ttest: 0.9041243\ttest1: 0.8826100\tbest: 0.8826100 (1750)\ttotal: 6.47s\tremaining: 4.61s\n",
      "1800:\ttest: 0.9045499\ttest1: 0.8827599\tbest: 0.8827599 (1800)\ttotal: 6.66s\tremaining: 4.44s\n",
      "1850:\ttest: 0.9048963\ttest1: 0.8828205\tbest: 0.8828205 (1850)\ttotal: 6.82s\tremaining: 4.24s\n",
      "1900:\ttest: 0.9053345\ttest1: 0.8828223\tbest: 0.8828223 (1900)\ttotal: 6.99s\tremaining: 4.04s\n",
      "1950:\ttest: 0.9058160\ttest1: 0.8828562\tbest: 0.8828562 (1950)\ttotal: 7.15s\tremaining: 3.84s\n",
      "2000:\ttest: 0.9063056\ttest1: 0.8828883\tbest: 0.8828883 (2000)\ttotal: 7.32s\tremaining: 3.65s\n",
      "2050:\ttest: 0.9066466\ttest1: 0.8829651\tbest: 0.8829651 (2050)\ttotal: 7.49s\tremaining: 3.47s\n",
      "2100:\ttest: 0.9070837\ttest1: 0.8830382\tbest: 0.8830382 (2100)\ttotal: 7.66s\tremaining: 3.28s\n",
      "2150:\ttest: 0.9075765\ttest1: 0.8831346\tbest: 0.8831346 (2150)\ttotal: 7.83s\tremaining: 3.09s\n",
      "2200:\ttest: 0.9080844\ttest1: 0.8831649\tbest: 0.8831649 (2200)\ttotal: 8s\tremaining: 2.9s\n",
      "2250:\ttest: 0.9084910\ttest1: 0.8832131\tbest: 0.8832131 (2250)\ttotal: 8.18s\tremaining: 2.72s\n",
      "2300:\ttest: 0.9090430\ttest1: 0.8833095\tbest: 0.8833095 (2300)\ttotal: 8.36s\tremaining: 2.54s\n",
      "2350:\ttest: 0.9094281\ttest1: 0.8833487\tbest: 0.8833487 (2350)\ttotal: 8.53s\tremaining: 2.35s\n",
      "2400:\ttest: 0.9098683\ttest1: 0.8834718\tbest: 0.8834718 (2400)\ttotal: 8.69s\tremaining: 2.17s\n",
      "2450:\ttest: 0.9103167\ttest1: 0.8835610\tbest: 0.8835610 (2450)\ttotal: 8.86s\tremaining: 1.98s\n",
      "2500:\ttest: 0.9107333\ttest1: 0.8835200\tbest: 0.8835610 (2450)\ttotal: 9.04s\tremaining: 1.8s\n",
      "2550:\ttest: 0.9111739\ttest1: 0.8836110\tbest: 0.8836110 (2550)\ttotal: 9.22s\tremaining: 1.62s\n",
      "2600:\ttest: 0.9115998\ttest1: 0.8837145\tbest: 0.8837145 (2600)\ttotal: 9.38s\tremaining: 1.44s\n",
      "2650:\ttest: 0.9120367\ttest1: 0.8837645\tbest: 0.8837645 (2650)\ttotal: 9.56s\tremaining: 1.26s\n",
      "2700:\ttest: 0.9124493\ttest1: 0.8838055\tbest: 0.8838055 (2700)\ttotal: 9.73s\tremaining: 1.08s\n",
      "2750:\ttest: 0.9128720\ttest1: 0.8838715\tbest: 0.8838715 (2750)\ttotal: 9.89s\tremaining: 896ms\n",
      "2800:\ttest: 0.9133078\ttest1: 0.8838376\tbest: 0.8838715 (2750)\ttotal: 10.1s\tremaining: 715ms\n",
      "2850:\ttest: 0.9137534\ttest1: 0.8838001\tbest: 0.8838715 (2750)\ttotal: 10.2s\tremaining: 535ms\n",
      "2900:\ttest: 0.9142322\ttest1: 0.8838751\tbest: 0.8838751 (2900)\ttotal: 10.4s\tremaining: 356ms\n",
      "2950:\ttest: 0.9146528\ttest1: 0.8839750\tbest: 0.8839750 (2950)\ttotal: 10.6s\tremaining: 176ms\n",
      "2999:\ttest: 0.9150720\ttest1: 0.8839590\tbest: 0.8839750 (2950)\ttotal: 10.8s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.8839750121\n",
      "bestIteration = 2950\n",
      "\n",
      "Shrink model to first 2951 iterations.\n",
      "Fold  5 AUC : 0.883975\n",
      "Full AUC score 0.861963\n"
     ]
    }
   ],
   "source": [
    "# 调整精度,去除更多不相关特征,使用StratifiedKFold训练初始模型后，模型catboost(更新于211118)\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 定义新的训练和测试集\n",
    "\n",
    "train = data[data['isDefault'].notna()]\n",
    "\n",
    "print(f'Size of training set: {len(train)}')\n",
    "\n",
    "test  = data[data['isDefault'].isna()]\n",
    "\n",
    "print(f'Size of testing set: {len(test)}')\n",
    "\n",
    "# for col in ['sub_class', 'work_type']:\n",
    "#     del train[col]\n",
    "#     del test[col]\n",
    "\n",
    "\n",
    "del data\n",
    "del train_data,test_public\n",
    "\n",
    "\n",
    "y = train['isDefault']\n",
    "folds = StratifiedKFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "oof_preds, test_preds, importances = train_model(train, test, y, folds) # Use the training set to predict the labels in the testing set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0:\ttest: 0.8512112\ttest1: 0.8617023\tbest: 0.8617023 (0)\ttotal: 61.2ms\tremaining: 3m 3s\n",
      "50:\ttest: 0.9088145\ttest1: 0.9194934\tbest: 0.9194934 (50)\ttotal: 261ms\tremaining: 15.1s\n",
      "100:\ttest: 0.9088686\ttest1: 0.9194540\tbest: 0.9194934 (50)\ttotal: 437ms\tremaining: 12.5s\n",
      "150:\ttest: 0.9084712\ttest1: 0.9190145\tbest: 0.9194934 (50)\ttotal: 624ms\tremaining: 11.8s\n",
      "200:\ttest: 0.9087397\ttest1: 0.9193270\tbest: 0.9194934 (50)\ttotal: 854ms\tremaining: 11.9s\n",
      "250:\ttest: 0.9091765\ttest1: 0.9198934\tbest: 0.9198934 (250)\ttotal: 1.1s\tremaining: 12s\n",
      "300:\ttest: 0.9099567\ttest1: 0.9203285\tbest: 0.9203285 (300)\ttotal: 1.42s\tremaining: 12.7s\n",
      "350:\ttest: 0.9105997\ttest1: 0.9209037\tbest: 0.9209037 (350)\ttotal: 1.74s\tremaining: 13.1s\n",
      "400:\ttest: 0.9115653\ttest1: 0.9219155\tbest: 0.9219155 (400)\ttotal: 2s\tremaining: 13s\n",
      "450:\ttest: 0.9121083\ttest1: 0.9223695\tbest: 0.9223695 (450)\ttotal: 2.23s\tremaining: 12.6s\n",
      "500:\ttest: 0.9128883\ttest1: 0.9231667\tbest: 0.9231667 (500)\ttotal: 2.42s\tremaining: 12.1s\n",
      "550:\ttest: 0.9132259\ttest1: 0.9235535\tbest: 0.9235535 (550)\ttotal: 2.6s\tremaining: 11.6s\n",
      "600:\ttest: 0.9138824\ttest1: 0.9242689\tbest: 0.9242689 (600)\ttotal: 2.77s\tremaining: 11.1s\n",
      "650:\ttest: 0.9145716\ttest1: 0.9251726\tbest: 0.9251726 (650)\ttotal: 2.95s\tremaining: 10.7s\n",
      "700:\ttest: 0.9151543\ttest1: 0.9257741\tbest: 0.9257741 (700)\ttotal: 3.13s\tremaining: 10.3s\n",
      "750:\ttest: 0.9158303\ttest1: 0.9265129\tbest: 0.9265129 (750)\ttotal: 3.31s\tremaining: 9.9s\n",
      "800:\ttest: 0.9162970\ttest1: 0.9269991\tbest: 0.9269991 (800)\ttotal: 3.49s\tremaining: 9.57s\n",
      "850:\ttest: 0.9169567\ttest1: 0.9276487\tbest: 0.9276487 (850)\ttotal: 3.66s\tremaining: 9.25s\n",
      "900:\ttest: 0.9174780\ttest1: 0.9283276\tbest: 0.9283276 (900)\ttotal: 3.83s\tremaining: 8.93s\n",
      "950:\ttest: 0.9180001\ttest1: 0.9290094\tbest: 0.9290094 (950)\ttotal: 4.01s\tremaining: 8.63s\n",
      "1000:\ttest: 0.9185028\ttest1: 0.9296284\tbest: 0.9296284 (1000)\ttotal: 4.18s\tremaining: 8.35s\n",
      "1050:\ttest: 0.9191616\ttest1: 0.9302153\tbest: 0.9302153 (1050)\ttotal: 4.36s\tremaining: 8.09s\n",
      "1100:\ttest: 0.9196296\ttest1: 0.9306154\tbest: 0.9306154 (1100)\ttotal: 4.54s\tremaining: 7.83s\n",
      "1150:\ttest: 0.9202225\ttest1: 0.9311234\tbest: 0.9311234 (1150)\ttotal: 4.72s\tremaining: 7.58s\n",
      "1200:\ttest: 0.9206469\ttest1: 0.9315454\tbest: 0.9315454 (1200)\ttotal: 4.89s\tremaining: 7.32s\n",
      "1250:\ttest: 0.9211680\ttest1: 0.9319323\tbest: 0.9319323 (1250)\ttotal: 5.06s\tremaining: 7.08s\n",
      "1300:\ttest: 0.9217616\ttest1: 0.9323177\tbest: 0.9323177 (1300)\ttotal: 5.24s\tremaining: 6.85s\n",
      "1350:\ttest: 0.9221061\ttest1: 0.9326009\tbest: 0.9326009 (1350)\ttotal: 5.42s\tremaining: 6.61s\n",
      "1400:\ttest: 0.9224912\ttest1: 0.9328739\tbest: 0.9328739 (1400)\ttotal: 5.59s\tremaining: 6.38s\n",
      "1450:\ttest: 0.9228855\ttest1: 0.9332491\tbest: 0.9332491 (1450)\ttotal: 5.77s\tremaining: 6.16s\n",
      "1500:\ttest: 0.9233553\ttest1: 0.9336696\tbest: 0.9336696 (1500)\ttotal: 5.95s\tremaining: 5.94s\n",
      "1550:\ttest: 0.9237692\ttest1: 0.9338886\tbest: 0.9338886 (1550)\ttotal: 6.13s\tremaining: 5.72s\n",
      "1600:\ttest: 0.9241534\ttest1: 0.9340726\tbest: 0.9340726 (1600)\ttotal: 6.3s\tremaining: 5.5s\n",
      "1650:\ttest: 0.9245395\ttest1: 0.9343339\tbest: 0.9343339 (1650)\ttotal: 6.48s\tremaining: 5.29s\n",
      "1700:\ttest: 0.9249408\ttest1: 0.9345894\tbest: 0.9345894 (1700)\ttotal: 6.65s\tremaining: 5.08s\n",
      "1750:\ttest: 0.9253116\ttest1: 0.9347208\tbest: 0.9347208 (1750)\ttotal: 6.82s\tremaining: 4.87s\n",
      "1800:\ttest: 0.9256679\ttest1: 0.9348916\tbest: 0.9348916 (1800)\ttotal: 7s\tremaining: 4.66s\n",
      "1850:\ttest: 0.9259996\ttest1: 0.9350391\tbest: 0.9350391 (1850)\ttotal: 7.17s\tremaining: 4.45s\n",
      "1900:\ttest: 0.9263562\ttest1: 0.9352391\tbest: 0.9352391 (1900)\ttotal: 7.34s\tremaining: 4.25s\n",
      "1950:\ttest: 0.9267093\ttest1: 0.9354055\tbest: 0.9354055 (1950)\ttotal: 7.52s\tremaining: 4.04s\n",
      "2000:\ttest: 0.9270831\ttest1: 0.9356245\tbest: 0.9356245 (2000)\ttotal: 7.69s\tremaining: 3.84s\n",
      "2050:\ttest: 0.9274262\ttest1: 0.9357063\tbest: 0.9357063 (2050)\ttotal: 7.86s\tremaining: 3.64s\n",
      "2100:\ttest: 0.9278298\ttest1: 0.9358012\tbest: 0.9358012 (2100)\ttotal: 8.03s\tremaining: 3.44s\n",
      "2150:\ttest: 0.9281522\ttest1: 0.9358669\tbest: 0.9358669 (2150)\ttotal: 8.2s\tremaining: 3.24s\n",
      "2200:\ttest: 0.9285524\ttest1: 0.9359749\tbest: 0.9359749 (2200)\ttotal: 8.38s\tremaining: 3.04s\n",
      "2250:\ttest: 0.9289024\ttest1: 0.9360858\tbest: 0.9360858 (2250)\ttotal: 8.57s\tremaining: 2.85s\n",
      "2300:\ttest: 0.9292405\ttest1: 0.9362348\tbest: 0.9362348 (2300)\ttotal: 8.76s\tremaining: 2.66s\n",
      "2350:\ttest: 0.9296354\ttest1: 0.9363224\tbest: 0.9363224 (2350)\ttotal: 8.94s\tremaining: 2.47s\n",
      "2400:\ttest: 0.9299707\ttest1: 0.9363603\tbest: 0.9363603 (2400)\ttotal: 9.11s\tremaining: 2.27s\n",
      "2450:\ttest: 0.9302851\ttest1: 0.9364421\tbest: 0.9364421 (2450)\ttotal: 9.3s\tremaining: 2.08s\n",
      "2500:\ttest: 0.9305740\ttest1: 0.9364202\tbest: 0.9364421 (2450)\ttotal: 9.47s\tremaining: 1.89s\n",
      "2550:\ttest: 0.9309101\ttest1: 0.9364800\tbest: 0.9364800 (2550)\ttotal: 9.64s\tremaining: 1.7s\n",
      "2600:\ttest: 0.9312378\ttest1: 0.9365282\tbest: 0.9365282 (2600)\ttotal: 9.82s\tremaining: 1.51s\n",
      "2650:\ttest: 0.9315729\ttest1: 0.9366012\tbest: 0.9366012 (2650)\ttotal: 10s\tremaining: 1.32s\n",
      "2700:\ttest: 0.9319118\ttest1: 0.9366873\tbest: 0.9366873 (2700)\ttotal: 10.2s\tremaining: 1.13s\n",
      "2750:\ttest: 0.9322800\ttest1: 0.9367516\tbest: 0.9367516 (2750)\ttotal: 10.4s\tremaining: 943ms\n",
      "2800:\ttest: 0.9326289\ttest1: 0.9368275\tbest: 0.9368275 (2800)\ttotal: 10.6s\tremaining: 754ms\n",
      "2850:\ttest: 0.9329252\ttest1: 0.9369180\tbest: 0.9369180 (2850)\ttotal: 10.8s\tremaining: 564ms\n",
      "2900:\ttest: 0.9332393\ttest1: 0.9370042\tbest: 0.9370042 (2900)\ttotal: 11s\tremaining: 374ms\n",
      "2950:\ttest: 0.9335865\ttest1: 0.9369983\tbest: 0.9370042 (2900)\ttotal: 11.2s\tremaining: 185ms\n",
      "2999:\ttest: 0.9339310\ttest1: 0.9370728\tbest: 0.9370728 (2999)\ttotal: 11.3s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.937072779\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  1 AUC : 0.937073\n",
      "0:\ttest: 0.8568456\ttest1: 0.8503713\tbest: 0.8503713 (0)\ttotal: 3.54ms\tremaining: 10.6s\n",
      "50:\ttest: 0.9130288\ttest1: 0.8952236\tbest: 0.8952236 (50)\ttotal: 179ms\tremaining: 10.3s\n",
      "100:\ttest: 0.9138323\ttest1: 0.8955972\tbest: 0.8955972 (100)\ttotal: 363ms\tremaining: 10.4s\n",
      "150:\ttest: 0.9141562\ttest1: 0.8963955\tbest: 0.8963955 (150)\ttotal: 537ms\tremaining: 10.1s\n",
      "200:\ttest: 0.9143966\ttest1: 0.8965943\tbest: 0.8965943 (200)\ttotal: 719ms\tremaining: 10s\n",
      "250:\ttest: 0.9148166\ttest1: 0.8977541\tbest: 0.8977541 (250)\ttotal: 908ms\tremaining: 9.94s\n",
      "300:\ttest: 0.9154288\ttest1: 0.8983085\tbest: 0.8983085 (300)\ttotal: 1.08s\tremaining: 9.73s\n",
      "350:\ttest: 0.9160561\ttest1: 0.8992228\tbest: 0.8992228 (350)\ttotal: 1.26s\tremaining: 9.55s\n",
      "400:\ttest: 0.9167396\ttest1: 0.8999518\tbest: 0.8999518 (400)\ttotal: 1.44s\tremaining: 9.33s\n",
      "450:\ttest: 0.9176488\ttest1: 0.9005151\tbest: 0.9005151 (450)\ttotal: 1.63s\tremaining: 9.22s\n",
      "500:\ttest: 0.9183801\ttest1: 0.9013903\tbest: 0.9013903 (500)\ttotal: 1.8s\tremaining: 9s\n",
      "550:\ttest: 0.9193300\ttest1: 0.9026013\tbest: 0.9026013 (550)\ttotal: 1.98s\tremaining: 8.81s\n",
      "600:\ttest: 0.9201371\ttest1: 0.9034900\tbest: 0.9034900 (600)\ttotal: 2.16s\tremaining: 8.62s\n",
      "650:\ttest: 0.9207173\ttest1: 0.9040805\tbest: 0.9040805 (650)\ttotal: 2.36s\tremaining: 8.53s\n",
      "700:\ttest: 0.9213522\ttest1: 0.9046920\tbest: 0.9046920 (700)\ttotal: 2.55s\tremaining: 8.36s\n",
      "750:\ttest: 0.9222156\ttest1: 0.9058428\tbest: 0.9058428 (750)\ttotal: 2.73s\tremaining: 8.16s\n",
      "800:\ttest: 0.9226696\ttest1: 0.9063038\tbest: 0.9063038 (800)\ttotal: 2.92s\tremaining: 8.02s\n",
      "850:\ttest: 0.9233027\ttest1: 0.9066879\tbest: 0.9066879 (850)\ttotal: 3.11s\tremaining: 7.85s\n",
      "900:\ttest: 0.9239952\ttest1: 0.9074079\tbest: 0.9074079 (900)\ttotal: 3.3s\tremaining: 7.68s\n",
      "950:\ttest: 0.9245156\ttest1: 0.9076730\tbest: 0.9076730 (950)\ttotal: 3.48s\tremaining: 7.51s\n",
      "1000:\ttest: 0.9251361\ttest1: 0.9080239\tbest: 0.9080239 (1000)\ttotal: 3.66s\tremaining: 7.31s\n",
      "1050:\ttest: 0.9256254\ttest1: 0.9083207\tbest: 0.9083207 (1050)\ttotal: 3.84s\tremaining: 7.12s\n",
      "1100:\ttest: 0.9260209\ttest1: 0.9085466\tbest: 0.9085466 (1100)\ttotal: 4.02s\tremaining: 6.94s\n",
      "1150:\ttest: 0.9266291\ttest1: 0.9090512\tbest: 0.9090512 (1150)\ttotal: 4.2s\tremaining: 6.75s\n",
      "1200:\ttest: 0.9271160\ttest1: 0.9094549\tbest: 0.9094549 (1200)\ttotal: 4.38s\tremaining: 6.56s\n",
      "1250:\ttest: 0.9275696\ttest1: 0.9099354\tbest: 0.9099354 (1250)\ttotal: 4.57s\tremaining: 6.39s\n",
      "1300:\ttest: 0.9279019\ttest1: 0.9100619\tbest: 0.9100619 (1300)\ttotal: 4.77s\tremaining: 6.23s\n",
      "1350:\ttest: 0.9282324\ttest1: 0.9102140\tbest: 0.9102140 (1350)\ttotal: 4.95s\tremaining: 6.04s\n",
      "1400:\ttest: 0.9286192\ttest1: 0.9104596\tbest: 0.9104596 (1400)\ttotal: 5.12s\tremaining: 5.84s\n",
      "1450:\ttest: 0.9289991\ttest1: 0.9105996\tbest: 0.9105996 (1450)\ttotal: 5.32s\tremaining: 5.67s\n",
      "1500:\ttest: 0.9293482\ttest1: 0.9106855\tbest: 0.9106855 (1500)\ttotal: 5.53s\tremaining: 5.52s\n",
      "1550:\ttest: 0.9297205\ttest1: 0.9107668\tbest: 0.9107668 (1550)\ttotal: 5.73s\tremaining: 5.35s\n",
      "1600:\ttest: 0.9301515\ttest1: 0.9108693\tbest: 0.9108693 (1600)\ttotal: 5.94s\tremaining: 5.19s\n",
      "1650:\ttest: 0.9304684\ttest1: 0.9109386\tbest: 0.9109386 (1650)\ttotal: 6.12s\tremaining: 5s\n",
      "1700:\ttest: 0.9307894\ttest1: 0.9110154\tbest: 0.9110154 (1700)\ttotal: 6.3s\tremaining: 4.81s\n",
      "1750:\ttest: 0.9310795\ttest1: 0.9110741\tbest: 0.9110741 (1750)\ttotal: 6.49s\tremaining: 4.63s\n",
      "1800:\ttest: 0.9314100\ttest1: 0.9110741\tbest: 0.9110741 (1750)\ttotal: 6.67s\tremaining: 4.44s\n",
      "1850:\ttest: 0.9317836\ttest1: 0.9111253\tbest: 0.9111253 (1850)\ttotal: 6.85s\tremaining: 4.25s\n",
      "1900:\ttest: 0.9320924\ttest1: 0.9112217\tbest: 0.9112217 (1900)\ttotal: 7.04s\tremaining: 4.07s\n",
      "1950:\ttest: 0.9324537\ttest1: 0.9112489\tbest: 0.9112489 (1950)\ttotal: 7.22s\tremaining: 3.88s\n",
      "2000:\ttest: 0.9328488\ttest1: 0.9112986\tbest: 0.9112986 (2000)\ttotal: 7.39s\tremaining: 3.69s\n",
      "2050:\ttest: 0.9331727\ttest1: 0.9112955\tbest: 0.9112986 (2000)\ttotal: 7.58s\tremaining: 3.51s\n",
      "2100:\ttest: 0.9335513\ttest1: 0.9113603\tbest: 0.9113603 (2100)\ttotal: 7.78s\tremaining: 3.33s\n",
      "2150:\ttest: 0.9339168\ttest1: 0.9113242\tbest: 0.9113603 (2100)\ttotal: 7.95s\tremaining: 3.14s\n",
      "2200:\ttest: 0.9343016\ttest1: 0.9113799\tbest: 0.9113799 (2200)\ttotal: 8.16s\tremaining: 2.96s\n",
      "2250:\ttest: 0.9346359\ttest1: 0.9114326\tbest: 0.9114326 (2250)\ttotal: 8.33s\tremaining: 2.77s\n",
      "2300:\ttest: 0.9349623\ttest1: 0.9114658\tbest: 0.9114658 (2300)\ttotal: 8.54s\tremaining: 2.59s\n",
      "2350:\ttest: 0.9353190\ttest1: 0.9114733\tbest: 0.9114733 (2350)\ttotal: 8.72s\tremaining: 2.41s\n",
      "2400:\ttest: 0.9356775\ttest1: 0.9114733\tbest: 0.9114733 (2350)\ttotal: 8.89s\tremaining: 2.22s\n",
      "2450:\ttest: 0.9360289\ttest1: 0.9114929\tbest: 0.9114929 (2450)\ttotal: 9.06s\tremaining: 2.03s\n",
      "2500:\ttest: 0.9363954\ttest1: 0.9114853\tbest: 0.9114929 (2450)\ttotal: 9.24s\tremaining: 1.84s\n",
      "2550:\ttest: 0.9367719\ttest1: 0.9115305\tbest: 0.9115305 (2550)\ttotal: 9.42s\tremaining: 1.66s\n",
      "2600:\ttest: 0.9371357\ttest1: 0.9116555\tbest: 0.9116555 (2600)\ttotal: 9.6s\tremaining: 1.47s\n",
      "2650:\ttest: 0.9374875\ttest1: 0.9116736\tbest: 0.9116736 (2650)\ttotal: 9.78s\tremaining: 1.29s\n",
      "2700:\ttest: 0.9378315\ttest1: 0.9117098\tbest: 0.9117098 (2700)\ttotal: 9.95s\tremaining: 1.1s\n",
      "2750:\ttest: 0.9381844\ttest1: 0.9117610\tbest: 0.9117610 (2750)\ttotal: 10.1s\tremaining: 916ms\n",
      "2800:\ttest: 0.9385486\ttest1: 0.9117806\tbest: 0.9117806 (2800)\ttotal: 10.3s\tremaining: 731ms\n",
      "2850:\ttest: 0.9388678\ttest1: 0.9117836\tbest: 0.9117836 (2850)\ttotal: 10.5s\tremaining: 547ms\n",
      "2900:\ttest: 0.9392181\ttest1: 0.9117941\tbest: 0.9117941 (2900)\ttotal: 10.6s\tremaining: 363ms\n",
      "2950:\ttest: 0.9395532\ttest1: 0.9118092\tbest: 0.9118092 (2950)\ttotal: 10.8s\tremaining: 180ms\n",
      "2999:\ttest: 0.9398574\ttest1: 0.9118212\tbest: 0.9118212 (2999)\ttotal: 11s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.9118212354\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  2 AUC : 0.911821\n",
      "0:\ttest: 0.8613648\ttest1: 0.8294039\tbest: 0.8294039 (0)\ttotal: 3.42ms\tremaining: 10.3s\n",
      "50:\ttest: 0.9148114\ttest1: 0.8875296\tbest: 0.8875296 (50)\ttotal: 175ms\tremaining: 10.1s\n",
      "100:\ttest: 0.9159515\ttest1: 0.8867774\tbest: 0.8875296 (50)\ttotal: 357ms\tremaining: 10.2s\n",
      "150:\ttest: 0.9162950\ttest1: 0.8875681\tbest: 0.8875681 (150)\ttotal: 538ms\tremaining: 10.1s\n",
      "200:\ttest: 0.9170535\ttest1: 0.8886717\tbest: 0.8886717 (200)\ttotal: 717ms\tremaining: 9.99s\n",
      "250:\ttest: 0.9181212\ttest1: 0.8893176\tbest: 0.8893176 (250)\ttotal: 899ms\tremaining: 9.85s\n",
      "300:\ttest: 0.9190904\ttest1: 0.8897414\tbest: 0.8897414 (300)\ttotal: 1.07s\tremaining: 9.61s\n",
      "350:\ttest: 0.9200243\ttest1: 0.8908342\tbest: 0.8908342 (350)\ttotal: 1.25s\tremaining: 9.44s\n",
      "400:\ttest: 0.9201099\ttest1: 0.8909005\tbest: 0.8909005 (400)\ttotal: 1.44s\tremaining: 9.36s\n",
      "450:\ttest: 0.9211702\ttest1: 0.8922292\tbest: 0.8922292 (450)\ttotal: 1.62s\tremaining: 9.18s\n",
      "500:\ttest: 0.9220489\ttest1: 0.8932480\tbest: 0.8932480 (500)\ttotal: 1.8s\tremaining: 8.99s\n",
      "550:\ttest: 0.9224818\ttest1: 0.8938969\tbest: 0.8938969 (550)\ttotal: 1.98s\tremaining: 8.8s\n",
      "600:\ttest: 0.9232311\ttest1: 0.8947616\tbest: 0.8947616 (600)\ttotal: 2.15s\tremaining: 8.61s\n",
      "650:\ttest: 0.9239084\ttest1: 0.8953118\tbest: 0.8953118 (650)\ttotal: 2.34s\tremaining: 8.44s\n",
      "700:\ttest: 0.9244707\ttest1: 0.8958868\tbest: 0.8958868 (700)\ttotal: 2.52s\tremaining: 8.28s\n",
      "750:\ttest: 0.9249367\ttest1: 0.8961426\tbest: 0.8961426 (750)\ttotal: 2.71s\tremaining: 8.1s\n",
      "800:\ttest: 0.9252775\ttest1: 0.8962706\tbest: 0.8962706 (800)\ttotal: 2.88s\tremaining: 7.92s\n",
      "850:\ttest: 0.9257003\ttest1: 0.8966420\tbest: 0.8966420 (850)\ttotal: 3.08s\tremaining: 7.77s\n",
      "900:\ttest: 0.9261539\ttest1: 0.8971121\tbest: 0.8971121 (900)\ttotal: 3.28s\tremaining: 7.64s\n",
      "950:\ttest: 0.9266631\ttest1: 0.8975961\tbest: 0.8975961 (950)\ttotal: 3.49s\tremaining: 7.51s\n",
      "1000:\ttest: 0.9271008\ttest1: 0.8980277\tbest: 0.8980277 (1000)\ttotal: 3.69s\tremaining: 7.37s\n",
      "1050:\ttest: 0.9275628\ttest1: 0.8985286\tbest: 0.8985286 (1050)\ttotal: 3.88s\tremaining: 7.2s\n",
      "1100:\ttest: 0.9279867\ttest1: 0.8989325\tbest: 0.8989325 (1100)\ttotal: 4.09s\tremaining: 7.05s\n",
      "1150:\ttest: 0.9284784\ttest1: 0.8995213\tbest: 0.8995213 (1150)\ttotal: 4.27s\tremaining: 6.85s\n",
      "1200:\ttest: 0.9287705\ttest1: 0.8998079\tbest: 0.8998079 (1200)\ttotal: 4.45s\tremaining: 6.67s\n",
      "1250:\ttest: 0.9291530\ttest1: 0.9000792\tbest: 0.9000792 (1250)\ttotal: 4.63s\tremaining: 6.47s\n",
      "1300:\ttest: 0.9294763\ttest1: 0.9004060\tbest: 0.9004060 (1300)\ttotal: 4.8s\tremaining: 6.27s\n",
      "1350:\ttest: 0.9298198\ttest1: 0.9005540\tbest: 0.9005540 (1350)\ttotal: 4.98s\tremaining: 6.08s\n",
      "1400:\ttest: 0.9301648\ttest1: 0.9006480\tbest: 0.9006480 (1400)\ttotal: 5.16s\tremaining: 5.89s\n",
      "1450:\ttest: 0.9304867\ttest1: 0.9009054\tbest: 0.9009054 (1450)\ttotal: 5.37s\tremaining: 5.73s\n",
      "1500:\ttest: 0.9308987\ttest1: 0.9012337\tbest: 0.9012337 (1500)\ttotal: 5.58s\tremaining: 5.58s\n",
      "1550:\ttest: 0.9312234\ttest1: 0.9013462\tbest: 0.9013462 (1550)\ttotal: 5.78s\tremaining: 5.4s\n",
      "1600:\ttest: 0.9315692\ttest1: 0.9015481\tbest: 0.9015481 (1600)\ttotal: 5.96s\tremaining: 5.2s\n",
      "1650:\ttest: 0.9318960\ttest1: 0.9016005\tbest: 0.9016005 (1650)\ttotal: 6.16s\tremaining: 5.03s\n",
      "1700:\ttest: 0.9322233\ttest1: 0.9017454\tbest: 0.9017454 (1700)\ttotal: 6.33s\tremaining: 4.84s\n",
      "1750:\ttest: 0.9325140\ttest1: 0.9017608\tbest: 0.9017608 (1750)\ttotal: 6.51s\tremaining: 4.65s\n",
      "1800:\ttest: 0.9328440\ttest1: 0.9018487\tbest: 0.9018487 (1800)\ttotal: 6.69s\tremaining: 4.45s\n",
      "1850:\ttest: 0.9331943\ttest1: 0.9020830\tbest: 0.9020830 (1850)\ttotal: 6.89s\tremaining: 4.28s\n",
      "1900:\ttest: 0.9335124\ttest1: 0.9021940\tbest: 0.9021940 (1900)\ttotal: 7.06s\tremaining: 4.08s\n",
      "1950:\ttest: 0.9338643\ttest1: 0.9022818\tbest: 0.9022818 (1950)\ttotal: 7.23s\tremaining: 3.89s\n",
      "2000:\ttest: 0.9341621\ttest1: 0.9023419\tbest: 0.9023419 (2000)\ttotal: 7.41s\tremaining: 3.7s\n",
      "2050:\ttest: 0.9344871\ttest1: 0.9024945\tbest: 0.9024945 (2050)\ttotal: 7.62s\tremaining: 3.52s\n",
      "2100:\ttest: 0.9348191\ttest1: 0.9025084\tbest: 0.9025084 (2100)\ttotal: 7.8s\tremaining: 3.34s\n",
      "2150:\ttest: 0.9351143\ttest1: 0.9026486\tbest: 0.9026486 (2150)\ttotal: 7.97s\tremaining: 3.15s\n",
      "2200:\ttest: 0.9354768\ttest1: 0.9027072\tbest: 0.9027072 (2200)\ttotal: 8.14s\tremaining: 2.96s\n",
      "2250:\ttest: 0.9358216\ttest1: 0.9027889\tbest: 0.9027889 (2250)\ttotal: 8.33s\tremaining: 2.77s\n",
      "2300:\ttest: 0.9361655\ttest1: 0.9028444\tbest: 0.9028444 (2300)\ttotal: 8.52s\tremaining: 2.59s\n",
      "2350:\ttest: 0.9365353\ttest1: 0.9029061\tbest: 0.9029061 (2350)\ttotal: 8.73s\tremaining: 2.41s\n",
      "2400:\ttest: 0.9368986\ttest1: 0.9029292\tbest: 0.9029292 (2400)\ttotal: 8.9s\tremaining: 2.22s\n",
      "2450:\ttest: 0.9372764\ttest1: 0.9029831\tbest: 0.9029831 (2450)\ttotal: 9.08s\tremaining: 2.03s\n",
      "2500:\ttest: 0.9376360\ttest1: 0.9030247\tbest: 0.9030247 (2500)\ttotal: 9.26s\tremaining: 1.85s\n",
      "2550:\ttest: 0.9379955\ttest1: 0.9031095\tbest: 0.9031095 (2550)\ttotal: 9.43s\tremaining: 1.66s\n",
      "2600:\ttest: 0.9383363\ttest1: 0.9031912\tbest: 0.9031912 (2600)\ttotal: 9.61s\tremaining: 1.47s\n",
      "2650:\ttest: 0.9386637\ttest1: 0.9032174\tbest: 0.9032174 (2650)\ttotal: 9.79s\tremaining: 1.29s\n",
      "2700:\ttest: 0.9390102\ttest1: 0.9032868\tbest: 0.9032868 (2700)\ttotal: 9.97s\tremaining: 1.1s\n",
      "2750:\ttest: 0.9393781\ttest1: 0.9032760\tbest: 0.9032868 (2700)\ttotal: 10.2s\tremaining: 922ms\n",
      "2800:\ttest: 0.9397171\ttest1: 0.9033469\tbest: 0.9033469 (2800)\ttotal: 10.4s\tremaining: 738ms\n",
      "2850:\ttest: 0.9400535\ttest1: 0.9033931\tbest: 0.9033931 (2850)\ttotal: 10.6s\tremaining: 552ms\n",
      "2900:\ttest: 0.9403861\ttest1: 0.9034101\tbest: 0.9034101 (2900)\ttotal: 10.7s\tremaining: 367ms\n",
      "2950:\ttest: 0.9407490\ttest1: 0.9034455\tbest: 0.9034455 (2950)\ttotal: 10.9s\tremaining: 181ms\n",
      "2999:\ttest: 0.9410831\ttest1: 0.9035596\tbest: 0.9035596 (2999)\ttotal: 11.1s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.9035595822\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  3 AUC : 0.903560\n",
      "0:\ttest: 0.8611515\ttest1: 0.8380315\tbest: 0.8380315 (0)\ttotal: 4.78ms\tremaining: 14.3s\n",
      "50:\ttest: 0.9129948\ttest1: 0.8889694\tbest: 0.8889694 (50)\ttotal: 191ms\tremaining: 11s\n",
      "100:\ttest: 0.9147468\ttest1: 0.8907639\tbest: 0.8907639 (100)\ttotal: 368ms\tremaining: 10.6s\n",
      "150:\ttest: 0.9151105\ttest1: 0.8920041\tbest: 0.8920041 (150)\ttotal: 544ms\tremaining: 10.3s\n",
      "200:\ttest: 0.9160565\ttest1: 0.8922125\tbest: 0.8922125 (200)\ttotal: 727ms\tremaining: 10.1s\n",
      "250:\ttest: 0.9159136\ttest1: 0.8918435\tbest: 0.8922125 (200)\ttotal: 902ms\tremaining: 9.88s\n",
      "300:\ttest: 0.9163631\ttest1: 0.8925960\tbest: 0.8925960 (300)\ttotal: 1.08s\tremaining: 9.69s\n",
      "350:\ttest: 0.9171464\ttest1: 0.8936467\tbest: 0.8936467 (350)\ttotal: 1.27s\tremaining: 9.57s\n",
      "400:\ttest: 0.9185725\ttest1: 0.8955381\tbest: 0.8955381 (400)\ttotal: 1.49s\tremaining: 9.66s\n",
      "450:\ttest: 0.9192586\ttest1: 0.8963008\tbest: 0.8963008 (450)\ttotal: 1.67s\tremaining: 9.45s\n",
      "500:\ttest: 0.9201041\ttest1: 0.8975135\tbest: 0.8975135 (500)\ttotal: 1.85s\tremaining: 9.22s\n",
      "550:\ttest: 0.9205746\ttest1: 0.8980388\tbest: 0.8980388 (550)\ttotal: 2.03s\tremaining: 9.02s\n",
      "600:\ttest: 0.9209764\ttest1: 0.8983036\tbest: 0.8983036 (600)\ttotal: 2.21s\tremaining: 8.83s\n",
      "650:\ttest: 0.9216464\ttest1: 0.8989635\tbest: 0.8989635 (650)\ttotal: 2.4s\tremaining: 8.64s\n",
      "700:\ttest: 0.9220956\ttest1: 0.8993094\tbest: 0.8993094 (700)\ttotal: 2.57s\tremaining: 8.44s\n",
      "750:\ttest: 0.9225492\ttest1: 0.8997667\tbest: 0.8997667 (750)\ttotal: 2.75s\tremaining: 8.24s\n",
      "800:\ttest: 0.9231400\ttest1: 0.9004802\tbest: 0.9004802 (800)\ttotal: 2.93s\tremaining: 8.04s\n",
      "850:\ttest: 0.9236434\ttest1: 0.9012168\tbest: 0.9012168 (850)\ttotal: 3.1s\tremaining: 7.84s\n",
      "900:\ttest: 0.9241290\ttest1: 0.9016654\tbest: 0.9016654 (900)\ttotal: 3.29s\tremaining: 7.67s\n",
      "950:\ttest: 0.9245624\ttest1: 0.9021111\tbest: 0.9021111 (950)\ttotal: 3.47s\tremaining: 7.48s\n",
      "1000:\ttest: 0.9251522\ttest1: 0.9025322\tbest: 0.9025322 (1000)\ttotal: 3.65s\tremaining: 7.29s\n",
      "1050:\ttest: 0.9256186\ttest1: 0.9029505\tbest: 0.9029505 (1050)\ttotal: 3.83s\tremaining: 7.1s\n",
      "1100:\ttest: 0.9260604\ttest1: 0.9031950\tbest: 0.9031950 (1100)\ttotal: 4s\tremaining: 6.91s\n",
      "1150:\ttest: 0.9265237\ttest1: 0.9036914\tbest: 0.9036914 (1150)\ttotal: 4.18s\tremaining: 6.71s\n",
      "1200:\ttest: 0.9270955\ttest1: 0.9041863\tbest: 0.9041863 (1200)\ttotal: 4.35s\tremaining: 6.52s\n",
      "1250:\ttest: 0.9274966\ttest1: 0.9044599\tbest: 0.9044599 (1250)\ttotal: 4.56s\tremaining: 6.38s\n",
      "1300:\ttest: 0.9279456\ttest1: 0.9046089\tbest: 0.9046089 (1300)\ttotal: 4.75s\tremaining: 6.2s\n",
      "1350:\ttest: 0.9283931\ttest1: 0.9050011\tbest: 0.9050011 (1350)\ttotal: 4.93s\tremaining: 6.01s\n",
      "1400:\ttest: 0.9288140\ttest1: 0.9051965\tbest: 0.9051965 (1400)\ttotal: 5.1s\tremaining: 5.82s\n",
      "1450:\ttest: 0.9292093\ttest1: 0.9053730\tbest: 0.9053730 (1450)\ttotal: 5.28s\tremaining: 5.64s\n",
      "1500:\ttest: 0.9295784\ttest1: 0.9056176\tbest: 0.9056176 (1500)\ttotal: 5.48s\tremaining: 5.47s\n",
      "1550:\ttest: 0.9299816\ttest1: 0.9059432\tbest: 0.9059432 (1550)\ttotal: 5.7s\tremaining: 5.32s\n",
      "1600:\ttest: 0.9302805\ttest1: 0.9061198\tbest: 0.9061198 (1600)\ttotal: 5.89s\tremaining: 5.15s\n",
      "1650:\ttest: 0.9307058\ttest1: 0.9064179\tbest: 0.9064179 (1650)\ttotal: 6.08s\tremaining: 4.97s\n",
      "1700:\ttest: 0.9310765\ttest1: 0.9066074\tbest: 0.9066074 (1700)\ttotal: 6.28s\tremaining: 4.8s\n",
      "1750:\ttest: 0.9314231\ttest1: 0.9067261\tbest: 0.9067261 (1750)\ttotal: 6.46s\tremaining: 4.61s\n",
      "1800:\ttest: 0.9317548\ttest1: 0.9068202\tbest: 0.9068202 (1800)\ttotal: 6.64s\tremaining: 4.42s\n",
      "1850:\ttest: 0.9321189\ttest1: 0.9070228\tbest: 0.9070228 (1850)\ttotal: 6.83s\tremaining: 4.24s\n",
      "1900:\ttest: 0.9324389\ttest1: 0.9071964\tbest: 0.9071964 (1900)\ttotal: 7.04s\tremaining: 4.07s\n",
      "1950:\ttest: 0.9327948\ttest1: 0.9072949\tbest: 0.9072949 (1950)\ttotal: 7.22s\tremaining: 3.88s\n",
      "2000:\ttest: 0.9331419\ttest1: 0.9074193\tbest: 0.9074193 (2000)\ttotal: 7.41s\tremaining: 3.7s\n",
      "2050:\ttest: 0.9334254\ttest1: 0.9074902\tbest: 0.9074902 (2050)\ttotal: 7.59s\tremaining: 3.51s\n",
      "2100:\ttest: 0.9337598\ttest1: 0.9075713\tbest: 0.9075713 (2100)\ttotal: 7.82s\tremaining: 3.35s\n",
      "2150:\ttest: 0.9341347\ttest1: 0.9076494\tbest: 0.9076494 (2150)\ttotal: 8.01s\tremaining: 3.16s\n",
      "2200:\ttest: 0.9344970\ttest1: 0.9078043\tbest: 0.9078043 (2200)\ttotal: 8.19s\tremaining: 2.97s\n",
      "2250:\ttest: 0.9348793\ttest1: 0.9078317\tbest: 0.9078317 (2250)\ttotal: 8.37s\tremaining: 2.78s\n",
      "2300:\ttest: 0.9352291\ttest1: 0.9078838\tbest: 0.9078838 (2300)\ttotal: 8.55s\tremaining: 2.6s\n",
      "2350:\ttest: 0.9355464\ttest1: 0.9079678\tbest: 0.9079678 (2350)\ttotal: 8.74s\tremaining: 2.41s\n",
      "2400:\ttest: 0.9358601\ttest1: 0.9080213\tbest: 0.9080213 (2400)\ttotal: 8.92s\tremaining: 2.23s\n",
      "2450:\ttest: 0.9362011\ttest1: 0.9081313\tbest: 0.9081313 (2450)\ttotal: 9.1s\tremaining: 2.04s\n",
      "2500:\ttest: 0.9364937\ttest1: 0.9082196\tbest: 0.9082196 (2500)\ttotal: 9.28s\tremaining: 1.85s\n",
      "2550:\ttest: 0.9368450\ttest1: 0.9083846\tbest: 0.9083846 (2550)\ttotal: 9.46s\tremaining: 1.66s\n",
      "2600:\ttest: 0.9371806\ttest1: 0.9085061\tbest: 0.9085061 (2600)\ttotal: 9.64s\tremaining: 1.48s\n",
      "2650:\ttest: 0.9374963\ttest1: 0.9085220\tbest: 0.9085220 (2650)\ttotal: 9.82s\tremaining: 1.29s\n",
      "2700:\ttest: 0.9378602\ttest1: 0.9086233\tbest: 0.9086233 (2700)\ttotal: 10s\tremaining: 1.11s\n",
      "2750:\ttest: 0.9382099\ttest1: 0.9086479\tbest: 0.9086479 (2750)\ttotal: 10.2s\tremaining: 922ms\n",
      "2800:\ttest: 0.9385286\ttest1: 0.9086827\tbest: 0.9086827 (2800)\ttotal: 10.4s\tremaining: 737ms\n",
      "2850:\ttest: 0.9389033\ttest1: 0.9087883\tbest: 0.9087883 (2850)\ttotal: 10.6s\tremaining: 551ms\n",
      "2900:\ttest: 0.9392440\ttest1: 0.9088231\tbest: 0.9088231 (2900)\ttotal: 10.7s\tremaining: 366ms\n",
      "2950:\ttest: 0.9396102\ttest1: 0.9089055\tbest: 0.9089055 (2950)\ttotal: 10.9s\tremaining: 181ms\n",
      "2999:\ttest: 0.9399287\ttest1: 0.9089041\tbest: 0.9089055 (2950)\ttotal: 11.1s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.9089055409\n",
      "bestIteration = 2950\n",
      "\n",
      "Shrink model to first 2951 iterations.\n",
      "Fold  4 AUC : 0.908906\n",
      "0:\ttest: 0.8579199\ttest1: 0.8464087\tbest: 0.8464087 (0)\ttotal: 4.37ms\tremaining: 13.1s\n",
      "50:\ttest: 0.9119265\ttest1: 0.9063595\tbest: 0.9063595 (50)\ttotal: 202ms\tremaining: 11.7s\n",
      "100:\ttest: 0.9121985\ttest1: 0.9073811\tbest: 0.9073811 (100)\ttotal: 392ms\tremaining: 11.3s\n",
      "150:\ttest: 0.9125081\ttest1: 0.9072900\tbest: 0.9073811 (100)\ttotal: 571ms\tremaining: 10.8s\n",
      "200:\ttest: 0.9129603\ttest1: 0.9076385\tbest: 0.9076385 (200)\ttotal: 746ms\tremaining: 10.4s\n",
      "250:\ttest: 0.9131317\ttest1: 0.9080030\tbest: 0.9080030 (250)\ttotal: 940ms\tremaining: 10.3s\n",
      "300:\ttest: 0.9134964\ttest1: 0.9079327\tbest: 0.9080030 (250)\ttotal: 1.12s\tremaining: 10s\n",
      "350:\ttest: 0.9153546\ttest1: 0.9095474\tbest: 0.9095474 (350)\ttotal: 1.31s\tremaining: 9.91s\n",
      "400:\ttest: 0.9164947\ttest1: 0.9100382\tbest: 0.9100382 (400)\ttotal: 1.51s\tremaining: 9.8s\n",
      "450:\ttest: 0.9172836\ttest1: 0.9105882\tbest: 0.9105882 (450)\ttotal: 1.7s\tremaining: 9.63s\n",
      "500:\ttest: 0.9182206\ttest1: 0.9110199\tbest: 0.9110199 (500)\ttotal: 1.89s\tremaining: 9.45s\n",
      "550:\ttest: 0.9188192\ttest1: 0.9112549\tbest: 0.9112549 (550)\ttotal: 2.08s\tremaining: 9.22s\n",
      "600:\ttest: 0.9196580\ttest1: 0.9116738\tbest: 0.9116738 (600)\ttotal: 2.25s\tremaining: 8.99s\n",
      "650:\ttest: 0.9204422\ttest1: 0.9119248\tbest: 0.9119248 (650)\ttotal: 2.43s\tremaining: 8.77s\n",
      "700:\ttest: 0.9210356\ttest1: 0.9121230\tbest: 0.9121230 (700)\ttotal: 2.62s\tremaining: 8.59s\n",
      "750:\ttest: 0.9216692\ttest1: 0.9127417\tbest: 0.9127417 (750)\ttotal: 2.81s\tremaining: 8.41s\n",
      "800:\ttest: 0.9220978\ttest1: 0.9129927\tbest: 0.9129927 (800)\ttotal: 3.03s\tremaining: 8.32s\n",
      "850:\ttest: 0.9227388\ttest1: 0.9134116\tbest: 0.9134116 (850)\ttotal: 3.28s\tremaining: 8.28s\n",
      "900:\ttest: 0.9233263\ttest1: 0.9137681\tbest: 0.9137681 (900)\ttotal: 3.47s\tremaining: 8.09s\n",
      "950:\ttest: 0.9238218\ttest1: 0.9142094\tbest: 0.9142094 (950)\ttotal: 3.67s\tremaining: 7.9s\n",
      "1000:\ttest: 0.9244145\ttest1: 0.9146682\tbest: 0.9146682 (1000)\ttotal: 3.84s\tremaining: 7.68s\n",
      "1050:\ttest: 0.9248580\ttest1: 0.9150279\tbest: 0.9150279 (1050)\ttotal: 4.02s\tremaining: 7.46s\n",
      "1100:\ttest: 0.9252647\ttest1: 0.9152470\tbest: 0.9152470 (1100)\ttotal: 4.2s\tremaining: 7.24s\n",
      "1150:\ttest: 0.9257236\ttest1: 0.9156882\tbest: 0.9156882 (1150)\ttotal: 4.38s\tremaining: 7.03s\n",
      "1200:\ttest: 0.9261001\ttest1: 0.9157969\tbest: 0.9157969 (1200)\ttotal: 4.55s\tremaining: 6.82s\n",
      "1250:\ttest: 0.9264377\ttest1: 0.9159009\tbest: 0.9159009 (1250)\ttotal: 4.73s\tremaining: 6.61s\n",
      "1300:\ttest: 0.9268766\ttest1: 0.9160432\tbest: 0.9160432 (1300)\ttotal: 4.91s\tremaining: 6.42s\n",
      "1350:\ttest: 0.9272312\ttest1: 0.9162542\tbest: 0.9162542 (1350)\ttotal: 5.09s\tremaining: 6.22s\n",
      "1400:\ttest: 0.9275350\ttest1: 0.9164636\tbest: 0.9164636 (1400)\ttotal: 5.28s\tremaining: 6.03s\n",
      "1450:\ttest: 0.9278776\ttest1: 0.9165611\tbest: 0.9165611 (1450)\ttotal: 5.47s\tremaining: 5.84s\n",
      "1500:\ttest: 0.9282745\ttest1: 0.9167402\tbest: 0.9167402 (1500)\ttotal: 5.65s\tremaining: 5.64s\n",
      "1550:\ttest: 0.9286406\ttest1: 0.9168809\tbest: 0.9168809 (1550)\ttotal: 5.83s\tremaining: 5.45s\n",
      "1600:\ttest: 0.9290174\ttest1: 0.9169992\tbest: 0.9169992 (1600)\ttotal: 6.01s\tremaining: 5.25s\n",
      "1650:\ttest: 0.9294172\ttest1: 0.9170664\tbest: 0.9170664 (1650)\ttotal: 6.18s\tremaining: 5.05s\n",
      "1700:\ttest: 0.9297485\ttest1: 0.9171847\tbest: 0.9171847 (1700)\ttotal: 6.38s\tremaining: 4.87s\n",
      "1750:\ttest: 0.9301430\ttest1: 0.9173014\tbest: 0.9173014 (1750)\ttotal: 6.56s\tremaining: 4.68s\n",
      "1800:\ttest: 0.9305207\ttest1: 0.9174181\tbest: 0.9174181 (1800)\ttotal: 6.75s\tremaining: 4.49s\n",
      "1850:\ttest: 0.9308485\ttest1: 0.9174660\tbest: 0.9174660 (1850)\ttotal: 6.94s\tremaining: 4.31s\n",
      "1900:\ttest: 0.9311350\ttest1: 0.9176467\tbest: 0.9176467 (1900)\ttotal: 7.12s\tremaining: 4.12s\n",
      "1950:\ttest: 0.9314699\ttest1: 0.9177170\tbest: 0.9177170 (1950)\ttotal: 7.3s\tremaining: 3.92s\n",
      "2000:\ttest: 0.9318037\ttest1: 0.9178130\tbest: 0.9178130 (2000)\ttotal: 7.49s\tremaining: 3.74s\n",
      "2050:\ttest: 0.9321267\ttest1: 0.9178737\tbest: 0.9178737 (2050)\ttotal: 7.67s\tremaining: 3.55s\n",
      "2100:\ttest: 0.9324741\ttest1: 0.9179505\tbest: 0.9179505 (2100)\ttotal: 7.85s\tremaining: 3.36s\n",
      "2150:\ttest: 0.9328060\ttest1: 0.9180128\tbest: 0.9180128 (2150)\ttotal: 8.03s\tremaining: 3.17s\n",
      "2200:\ttest: 0.9331114\ttest1: 0.9180688\tbest: 0.9180688 (2200)\ttotal: 8.23s\tremaining: 2.99s\n",
      "2250:\ttest: 0.9334200\ttest1: 0.9181055\tbest: 0.9181055 (2250)\ttotal: 8.42s\tremaining: 2.8s\n",
      "2300:\ttest: 0.9337541\ttest1: 0.9181983\tbest: 0.9181983 (2300)\ttotal: 8.61s\tremaining: 2.62s\n",
      "2350:\ttest: 0.9341348\ttest1: 0.9182574\tbest: 0.9182574 (2350)\ttotal: 8.79s\tremaining: 2.43s\n",
      "2400:\ttest: 0.9344468\ttest1: 0.9182894\tbest: 0.9182894 (2400)\ttotal: 8.98s\tremaining: 2.24s\n",
      "2450:\ttest: 0.9347869\ttest1: 0.9183422\tbest: 0.9183422 (2450)\ttotal: 9.17s\tremaining: 2.05s\n",
      "2500:\ttest: 0.9351506\ttest1: 0.9184157\tbest: 0.9184157 (2500)\ttotal: 9.35s\tremaining: 1.87s\n",
      "2550:\ttest: 0.9355006\ttest1: 0.9185004\tbest: 0.9185004 (2550)\ttotal: 9.54s\tremaining: 1.68s\n",
      "2600:\ttest: 0.9357910\ttest1: 0.9185388\tbest: 0.9185388 (2600)\ttotal: 9.73s\tremaining: 1.49s\n",
      "2650:\ttest: 0.9361286\ttest1: 0.9185932\tbest: 0.9185932 (2650)\ttotal: 9.91s\tremaining: 1.3s\n",
      "2700:\ttest: 0.9364201\ttest1: 0.9185948\tbest: 0.9185948 (2700)\ttotal: 10.1s\tremaining: 1.12s\n",
      "2750:\ttest: 0.9366819\ttest1: 0.9186315\tbest: 0.9186315 (2750)\ttotal: 10.3s\tremaining: 930ms\n",
      "2800:\ttest: 0.9370071\ttest1: 0.9186827\tbest: 0.9186827 (2800)\ttotal: 10.5s\tremaining: 744ms\n",
      "2850:\ttest: 0.9373357\ttest1: 0.9186923\tbest: 0.9186923 (2850)\ttotal: 10.6s\tremaining: 556ms\n",
      "2900:\ttest: 0.9376852\ttest1: 0.9187067\tbest: 0.9187067 (2900)\ttotal: 10.8s\tremaining: 370ms\n",
      "2950:\ttest: 0.9380759\ttest1: 0.9187418\tbest: 0.9187418 (2950)\ttotal: 11s\tremaining: 183ms\n",
      "2999:\ttest: 0.9384082\ttest1: 0.9187866\tbest: 0.9187866 (2999)\ttotal: 11.2s\tremaining: 0us\n",
      "\n",
      "bestTest = 0.9187866114\n",
      "bestIteration = 2999\n",
      "\n",
      "Fold  5 AUC : 0.918787\n",
      "Full AUC score 0.915668\n"
     ]
    }
   ],
   "source": [
    "# 用catboost训练基于xgboost预训练的模型\n",
    "\n",
    "y = train['isDefault']\n",
    "train = train.drop('isDefault',axis=1)\n",
    "# folds = StratifiedKFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "folds = KFold(n_splits=5, shuffle=True, random_state=546789)\n",
    "oof_preds, test_preds, importances = train_model(train, test, y, folds) # Use the training set to predict the labels in the testing set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 576x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display_importances(importances, fname='lgbm_importances_2.png')\n",
    "\n",
    "# 处理一些取值精度后没有大的变化 依然是状态 / 得分\n",
    "# 0.88142741347 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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du7cKQ8PD1ksFnl7e2vevHnau3evLl++LA8PD82bN0/h4eE6d+6cBg8erM8++0z79u3TihUrdP36daWnp2vGjBlq0qSJLly4oKpVqyorK0uOjo7q0qWL7rnnHklSVlaWZsyYob1798rBwUFdu3bV4MGDc+zb5O3tLW9vbw0aNEiVK1eWm5ubwsLC9NZbbyk6OlouLi567bXX1KVLFx0+fFgzZ87U9evXVblyZb311luqVatWSU4tAKCUItDYoaioKP3yyy/avHmzrly5oq5du8pisejkyZNatWqVHB0dNXr0aEVGRmrw4MFatWqVli5dqooVK2rVqlUKCwtTlSpVtG7dOi1dulRhYWEaOnSogoOD9fnnn6tFixZ6+umn1bVrV0nSv/71L505c0aRkZFKT09Xv3799PDDD6ts2bJ3rDE2NlbLli1TzZo1tWzZMqWmpmrr1q26ePGiXn75ZXXo0EGhoaEKCwtT9erVtWvXLk2YMEEff/xxgeYi+YslCtqaQWNKAECuCDR26MCBA3r22Wfl4uKiKlWqqHXr1nJyctKYMWO0du1axcbG6tChQ6pdu3a24xwdHfX+++/rm2++UWxsrA4cOCBHxxuril5eXtq+fbt++OEH7dmzRx999JFWrVql1atXa//+/erevbucnJxUtmxZBQQEaO/evfL19b1jjVWrVlXNmjUlSd9//7169eolR0dHubu764svvtDx48d1+vRpDR061HrM1atXCzwXWYlndOLSJRpTAgByxT00dujP/ZKcnZ2VlJSkgQMHKisrSx07dlSHDh1uu28mJSVFPXv2VHx8vJo1a6Z+/fpJurGENWnSJOvS1YgRIxQZGalLly7pl19+UVZW9l1EhmHIYrHk2LfpJjc3t2z13foE4FOnTikrK0s1a9ZURESEIiIiFB4ers8//7zAc+FY5X7Vr1+fxpQAgFwRaOxQy5YttXXrVqWnp+vy5cvatWuXHBwc5O3trT59+qhOnTrauXOnLBaLJMnJyUkWi0VxcXFycHBQUFCQmjdvrm3btlmDyW+//ably5dbw0t8fLwyMzNVu3ZttWjRQhs3bpTFYtG1a9e0adMmNW/ePMe+TTlp1qyZtmzZIsMwdPHiRb300kuqUaOGLl++rIMHD0qS1q9fr3/84x8FnosKfkMUFhbG1RkAQK5YcrJDHTp00M8//yx/f3/d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Cxfqjz/+0G+//aZLly6pd+/eGjRoUOH+JwEAkAuu0PzPjz/+qPHjx+vLL79UWlqa/v3vf+f6+WbNmikiIkJ/+9vfNH369Fw/O3XqVD3//POKiIhQkyZNrK8vXrxYjz32mMLDw/XZZ58pLCzM2iE7ISFBGzZs0KhRozR16lS1aNFCmzZt0oIFC/Tmm29aG0reSXx8vBYuXKjw8HBFR0dr+/btOnXqlE6ePKlVq1YpKipK999/vyIjIyVJ58+fV8uWLbVx40Y1a9bM+hA9STp79qyGDRumGTNmWJtL3lpfbmJiYrRixQqFh4dr9erV+s9//pPr5wEAKAwCzf80a9ZMDz30kBwcHNStWzft27fvjp91c3NT165dJUndunXLs9XAgQMH1LlzZ0lS165d5eLiIknas2ePVq1apW7duunFF19UamqqTpw4IUlq2LCh9enC+/btU8+ePSVJtWrVUuPGjfXTTz/lek5fX19VqVJFZcqUUefOnXXgwAE98MADGjNmjNauXatZs2bp0KFD2Xoz3dqX6vLly9bX/+///k+1atXSU089ZX3t1vpy4+/vr3Llyql8+fLy9fXNdV4BACgsAs3/ODk5Wf9sGIZSU1Oz9Se6tY2Ao6Njts/m54v95lgODg7W47OysjRnzhxFREQoIiJCa9assYYKNze324699eebrQnu5NaasrKy5OzsrJiYGA0cOFBZWVnq2LGjOnTokG3sW/tS3fr6+PHjdfr0ae3cudP62q313fr5m32cbrp1XrOysrL9DACArRBo/ic6OtraU2njxo3q0KGDkpKSlJiYqPT0dO3atcv62dTUVG3fvl2StH79erVq1SrXsVu1amVd2vnqq6+UlpYmSWrRooX+9a9/SZLOnTunrl276syZM7cd36JFC61bt06SdPr0af3www/WpZ87+fe//63k5GSlpaVpy5YtatWqlb7//nt5e3urT58+qlOnjnbu3JlnMJKkRo0aafLkyZoyZUqO3bYrVapkfRDg119/ne29r7/+Wunp6bp8+bJ27NghHx+fPM8HAEBBcVPw/3h4eGj06NFKSEjQ008/rZdeeklXr15Vz549Va1atWxP1K1QoYK+/vprzZ8/X56enpo5c2auY0+cOFEhISFavXq1vLy8VK5cOUnSsGHDNHnyZPn7+8tisSgkJES1a9fWwYMHsx0/fvx4TZw4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RmBgoJGRkWFcu3bNaNeunXHkyBHms4j27NljNG/e3BgzZsxd+++dKzSwK3v27FGLFi1UqVIl3XPPPerYsaO+/PLLki7LdNasWaNJkybJw8NDknT48GE98MADqlWrlpydnRUQEMC85pO7u7vGjh2rMmXKyMXFRXXr1lVcXBzzWUje3t765JNP5OzsrIsXL8pisSg5OZn5LIKkpCTNmzdPQUFBku7ef+8EGtiVc+fOyd3d3fqzh4eHEhISSrAic5o+fbqeeuop68/Ma+HVr19fTzzxhCQpLi5OW7dulYODA/NZBC4uLlqwYIH8/PzUsmVL/n4W0cSJEzVy5EhVqFBB0t37751AA7uSlZWVrRmlYRg0p7QB5rXoTpw4ob///e8aPXq0atWqxXwW0fDhw7V3716dOXNGcXFxzGchrV27Vvfff79atmxpfe1u/ffuXNIFALeqVq2aDh48aP35/Pnz1mUTFF61atV0/vx568/Ma8FER0dr+PDhevPNN+Xn56cDBw4wn4X022+/KT09XY8++qjKli2rZ599Vl9++aWcnJysn2E+82/Lli06f/68unXrpsuXLys1NVX//e9/78r55AoN7EqrVq20d+9eJSYm6tq1a/rqq6/UunXrki7L9Bo3bqzY2FidOnVKFotFmzdvZl7z6cyZMwoODtY777wjPz8/ScxnUcTHxys0NFTp6elKT0/X9u3bFRgYyHwW0ooVK7R582ZFRERo+PDh8vX11bJly+7K+eQKDeyKp6enRo4cqf79+ysjI0M9e/ZUo0aNSros03N1ddWsWbP0+uuvKy0tTW3atFGnTp1KuixTWL58udLS0jRr1izra4GBgcxnIbVp00aHDx/Wc889JycnJz377LPy8/NTlSpVmE8buVv/vTsYhmGUdBEAAABFwZITAAAwPQINAAAwPQINAAAwPQINAAAwPQINAAAwPQINABTAzz//rOHDh/+l57xy5Yr69+//l54TMBu2bQOAnYuPj1dAQIB+/PHHki4FsFs8WA8ACmD//v2aOnWqvLy85ObmpuPHj+vixYvy9fVVpUqVtGPHDp0/f17Tpk1Ty5YtNXbsWLm6uuro0aO6ePGinn76aYWGhsrFxUUHDx7U7Nmzde3aNbm4uGjEiBFq3bq1wsPDtW7dOl27dk333nuvJOn69evq1q2bwsPDtWHDBq1evVoZGRm6fPmyXn31VfXt21fh4eHatm2bHB0dderUKbm5uentt99W3bp1df78eU2aNEknT56Uo6OjAgMD1b9/f125ckXTp0/X8ePHlZGRoZYtW2r06NFydubrASZjAADybd++fYafn58xZswY44UXXjDS09ONc+fOGQ8//LDxySefGIZhGB9//LHxyiuvGIZhGGPGjDGee+454+rVq0ZaWprx4osvGitXrjQSExONli1bGocOHTIMwzCOHz9ueHt7G7///ruxfv16o1mzZsaVK1cMwzCM06dPG0888YRhGIZx9epVo1evXkZiYqJhGIbx448/Wt9bv3690bRpU+PMmTOGYRjGlClTjNGjRxuGYRjBwcHG22+/bRiGYSQnJxt+fn5GXFycMXbsWGvdmZmZxj/+8Q9j6dKlxT6PgK0RwQGgkNq1aycXFxe5u7vrnnvu0TPPPCNJql27tpKSkqyf6969u8qVKydJ6tatm7Zv365atWqpdu3aaty4sSSpfv36atKkiQ4cOCAHBwc1aNDAenXmVuXKlVNYWJj+/e9/Ky4uTkePHlVqaqr1/ccee0zVqlWTJDVs2FDbtm2TJO3Zs0chISGSpPLly2vz5s2SpJ07d+rnn3/WunXrJN24EgSYEYEGAAqpTJky2X6+0zLNrZ2PDcOQo6OjLBaLHBwcsn3OMAxlZmbKxcVF99xzT45jnT17Vr1791avXr3UtGlTderUSTt27LC+7+bmZv2zg4ODjP/dJuns7JztfKdPn1blypWVlZWl+fPnq27dupKk5OTk2+oCzIBdTgBQzLZu3ar09HSlpaVpw4YNateunZ544gmdPHlShw8fliSdOHFC33//vby9vW873tnZWRaLRYZhKCYmRlWqVNFrr70mHx8fa5ixWCy51tCyZUutX79e0o1dUwMGDFBcXJx8fHz08ccfyzAMpaena+jQofr0009tPANA8eMKDQAUMzc3N/Xt21fJycnq2LGjevToIUdHR82fP19Tp07V9evX5eDgoJkzZ+rBBx+8bTeTu7u7GjVqJD8/P61YsUKenp7q1KmTHBwc5O3trSpVqujUqVO51jBx4kRNnjxZAQEBMgxDQ4YMkZeXl8aPH6/p06crICBAGRkZatWqlQYNGlSc0wEUC7ZtA0AxGjt2rOrXr6+BAweWdClAqcaSEwAAMD2u0AAAANPjCg0AADA9Ag0AADA9Ag0AADA9Ag0AADA9Ag0AADA9Ag0AADC9/wc8zenkjxCiXQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 576x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display_importances(importances, fname='catboost_importances_xgboost+catboost.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>loan_id</th>\n",
       "      <th>isDefault</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10000</th>\n",
       "      <td>1000575</td>\n",
       "      <td>0.039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10001</th>\n",
       "      <td>1028125</td>\n",
       "      <td>0.067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10002</th>\n",
       "      <td>1010694</td>\n",
       "      <td>0.022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10003</th>\n",
       "      <td>1026712</td>\n",
       "      <td>0.018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10004</th>\n",
       "      <td>1002895</td>\n",
       "      <td>0.030</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       loan_id  isDefault\n",
       "10000  1000575      0.039\n",
       "10001  1028125      0.067\n",
       "10002  1010694      0.022\n",
       "10003  1026712      0.018\n",
       "10004  1002895      0.030"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_preds.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "submission_date = '211118'\n",
    "process(test_preds.rename({'loan_id': 'id'}, axis=1)[['id','isDefault']],3).to_csv(f'./submit/submission_{submission_date}.csv', index=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
